Fieldsetのデフォルトは、コンテナの幅の100%のようです。フィールドセット内の最も広いコントロールと同じくらい大きいフィールドセットを持つことができる方法はありますか?
つかいます display: inline-block
、ただし、実際にインラインで表示されないようにするには、DIV内にラップする必要があります。 Safariでテスト済み。
<style type="text/css">
.fieldset-auto-width {
display: inline-block;
}
</style>
<div>
<fieldset class="fieldset-auto-width">
<legend>Blah</legend>
...
</fieldset>
</div>
fieldset {display:inline}
または fieldset {display:inline-block}
2つのフィールドセットを垂直に分離する場合は、単一の<br/>
それらの間の。これは意味的に正しく、必要以上に難しくありません。
あなたはそれをフロートさせることができ、それはその内容と同じ幅になりますが、あなたはそれらのフロートをクリアすることを確認する必要があります。
fieldset {
min-width: 0;
max-width: 100%;
width: 100%;
}
残念ながら、どちらもdisplay:inline-block
nor width:0px
バージョン8までのInternet Explorerで動作します。InternetExplorer 9を試したことはありませんが、Internet Explorerを無視したいので、できません。
FirefoxおよびInternet Explorer 8で機能する唯一のオプションはfloat:left
。唯一のわずかな欠点は、clear:both
は、フォームに続く要素上。もちろん、忘れた場合は非常に明白です;-)
これも機能します。
fieldset {
width:0px;
}
これを試してください
<fieldset>
<legend style="max-width: max-content;" >Blah</legend>
</fieldset>
いつでもCSSを使用してフィールドセットの幅を制限できます。これにより、内部のコントロールも制限されます。
select
コントロールの幅を制限しなければならないことがよくあります。そうしないと、オプションテキストが非常に長くなり、完全に管理できなくなります。