Es scheint, dass das Feldset standardmäßig auf 100 % der Breite seines Containers eingestellt ist. Gibt es eine Möglichkeit, dass der Feldsatz genau so groß ist wie das breiteste Steuerelement innerhalb des Feldsatzes?
Gibt es eine Möglichkeit, eine Fieldset-Breite nur so breit wie die Steuerelemente darin zu haben?
leora
Benutzen display: inline-block
obwohl Sie es in ein DIV einschließen müssen, damit es nicht tatsächlich inline angezeigt wird. Getestet in Safari.
<style type="text/css">
.fieldset-auto-width {
display: inline-block;
}
</style>
<div>
<fieldset class="fieldset-auto-width">
<legend>Blah</legend>
...
</fieldset>
</div>
-
Dies war die klarste Antwort für ein relatives n00b und löste mein identisches Problem. Danke.
– Mawg sagt, Monica wieder einzusetzen
11. September ’10 bei 3:22
-
Ja, dies ist eine bessere / einfachere Idee als meine Antwort, wenn sie in allen Browsern funktioniert, die Ihnen wichtig sind.
– Tom
22. März ’11 um 18:12
-
Zu Ihrer Information:
display: inline-block;
funktioniert nicht in iE6 und IE7. Ich freue mich, wenn Sie sich nicht um sie kümmern müssen. 🙂– Diemo
30. Juli ’11 um 16:06
-
Funktioniert hervorragend in IE8 und Firefox 10!
– Ed Bayiates
10. Feb. ’12 um 4:40
-
Was ist das Voodoo mit der div. Es erscheint notwendig, aber warum?
– Überlicht
6. Januar ’17 um 12:19
fieldset {display:inline}
oder fieldset {display:inline-block}
Wenn Sie zwei Fieldsets vertikal trennen möchten, verwenden Sie ein einzelnes <br/>
zwischen ihnen. Das ist semantisch korrekt und nicht schwieriger als es sein muss.
-
für IE 11, display:inline funktionierte, aber nicht display:inline-block
– Gabe Halsmer
26. März ’14 um 4:53
Sie könnten es schweben lassen, dann ist es nur so breit wie sein Inhalt, aber Sie müssen sicherstellen, dass Sie diese schweben.
dan.s.ward
Dies funktioniert auch.
fieldset {
width:0px;
}
Paul D
Leider auch nicht display:inline-block
Noch width:0px
funktioniert im Internet Explorer bis Version 8. Ich habe Internet Explorer 9 nicht ausprobiert. So sehr ich Internet Explorer ignorieren möchte, kann ich es nicht.
Die einzige Option, die unter Firefox und Internet Explorer 8 funktioniert, ist float:left
. Der einzige kleine Nachteil ist, dass Sie daran denken müssen, zu verwenden clear:both
auf dem Element, das dem Formular folgt. Natürlich wird es sehr offensichtlich, wenn Sie es vergessen 😉
Jonathan Julian
Sie können immer CSS verwenden, um die Breite des Fieldsets einzuschränken, was auch die Steuerelemente darin einschränken würde.
Ich finde, dass ich oft die Breite von einschränken muss select
Steuerelemente, oder sehr langer Optionstext macht es völlig unhandlich.
Truppe
fieldset {
min-width: 0;
max-width: 100%;
width: 100%;
}
-
Bitte fügen Sie einige Erläuterungen hinzu
– Rarblack
5. Dezember ’18 um 6:22
-
Nicht einmal Tim Berners-Lee konnte dir sagen, warum das funktioniert, aber Scheiße funktioniert einfach lol danke!
– lucasjohnson
22. Apr. 19 um 0:33
.