1

私はこの例を持っています:http://jsfiddle.net/DRW2S/

#con{
    width:auto;
    background-color:red;
}
#inp{
    width:auto;
    max-width:525px;
    height:26px;
    float:right;
}
#btn{
    float:right;
    width:30px;
    background-color:yellow;
}
<div id="con">
    <input type="text" id="inp" />
    <div id="btn"> hi </div>
    <div style="clear:both;"></div>
</div>
​

ご覧のとおり、width:autoプロパティで「inp」を設定しましたが、まったく機能していないように感じます。この場合、floatプロパティが何か関係があることに気づきました。なぜ機能しないのですか?どうすれば解決できますか?

4

1 に答える 1

1

フローティング要素に幅を設定する必要があります。これを参照してください:

フローティング アイテムには常に幅を設定する必要があります (画像に直接適用する場合を除き、暗黙的な幅があります)。W3C のカスケーディング スタイル シート、レベル 2、CSS2 仕様には次のように記載されています。

「浮動ボックスには明示的な幅が必要です...」

http://css.maxdesign.com.au/floatutorial/introduction.htm

仕様へのそのリンクをたどっていますが、そこに引用されている文を見ることができませんでした..

float にピクセル幅または % 幅を設定してみてください。

于 2012-10-13T23:19:40.067 に答える