0

インラインブロック要素に問題があります

width: auto;

javascriptを使用してプログラムで高さを変更します。

これを示す jsFiddle を次に示します。

http://jsfiddle.net/uJZjB/2/

ウィンドウのサイズを変更すると、javascript が要素の高さを設定し、インライン ブロック要素の幅がコンテンツに合わせて自動的に調整されるという考え方です。

ただし、幅は自動更新されず、コンテンツの幅に合わせてサイズ変更されるのではなく、元の幅のままです。

要素を非表示にして表示したり、表示スタイルを変更したりして、DOM を更新すると、幅が更新されます。

この変更された jsfiddle を参照してください。

http://jsfiddle.net/uJZjB/5/

これは chrome のもので、width:auto; を強制するようになりました。起動して動作するように、Firefox ではまだ更新されていないようです。

このように設定すると幅が更新されない理由はありますか?

よろしく、

4

1 に答える 1

0

width:auto子の幅を取得することで、高さの横にある要素の幅を期待される値に設定できます。

$('#myul li').css('width',$('#myul li').children().width() + 2); // compensate for border

JSFiddle: http://jsfiddle.net/uJZjB/4/

于 2013-04-08T06:37:45.570 に答える