Dies führt jedoch zu einer Unterbrechung des Codes, was das OP wahrscheinlich überhaupt nicht will.
Konrad Rudolph
49
@Konrad Dann kann das OP verwenden floatoderdisplay: inline-block
Josh Stodola
2
Ja, das wollte ich erreichen. :-) Dies ist der Kernaspekt hier, da es der schwierige Teil ist. Nur die Einstellung widthwird nicht viel nützen.
Konrad Rudolph
@ JoshStodola oh shiiiiit ..... Inline-Block hat nie für mich gearbeitet, ich habe versucht, Float und Bham! Ich frage mich, warum Inline-Block für mich nicht funktioniert hat
Dheeraj
@lostchild Inline-Block ignoriert Leerzeichen nicht, daher hatten Sie möglicherweise Probleme damit.
Alex Podworny
91
Die Verwendung des Inline-Blocks ist besser, da die verbleibenden Elemente und / oder Steuerelemente nicht in einer neuen Linie gezeichnet werden.
Inline-Elemente (wie SPAN, LABEL usw.) werden angezeigt, sodass ihre Höhe und Breite vom Browser anhand ihres Inhalts berechnet werden. Wenn Sie Höhe und Breite steuern möchten, müssen Sie die Blöcke dieser Elemente ändern.
display: block;Das Element wird als fester Block angezeigt (wie DIV-Tags). Dies bedeutet, dass nach dem Element ein Zeilenumbruch auftritt (es ist nicht inline). Obwohl Sie display: inline-blockdas Problem des Zeilenumbruchs beheben können , funktioniert diese Lösung in IE6 nicht, da IE6 Inline-Block nicht erkennt. Wenn Sie möchten, dass es browserübergreifend kompatibel ist, lesen Sie diesen Artikel: http://webjazz.blogspot.com/2008/01/getting-inline-block-working-across.html
Label eine Breite zu geben, ist kein richtiger Weg. Sie sollten eine Div- oder Tabellenstruktur verwenden, um dies zu verwalten. Wenn Sie jedoch nicht Ihren gesamten Code ändern möchten, können Sie den folgenden Code verwenden.
"Beschriftung auf nicht ordnungsgemäße Weise geben", um die Breite eines Beschriftungselements zu steuern? Bist du sicher?
Oriol
Ja. Wenn wir ein Layout oder eine bestimmte Struktur erstellen möchten, werden die Eigenschaften div und table zur Verfügung gestellt. Das Etikett ist nicht dazu gedacht, Breite oder Höhe anzugeben. Wenn wir also etwas verwenden, das nicht dazu bestimmt ist, werden auf irgendeine Weise Probleme entstehen. Ich hoffe ich mache jetzt Sinn.
Yaxita Shah
2
label {
width:200px;
display:inline-block;}
OR
label {
width:200px;
display:inline-flex;}
OR
label {
width:200px;
display:inline-table;}
display:block
oder setzenfloat:left
.Antworten:
Natürlich mit CSS ...
Das
width
Attribut ist veraltet, und CSS sollte immer verwendet werden, um diese Art von Präsentationsstilen zu steuern.quelle
float
oderdisplay: inline-block
width
wird nicht viel nützen.Die Verwendung des Inline-Blocks ist besser, da die verbleibenden Elemente und / oder Steuerelemente nicht in einer neuen Linie gezeichnet werden.
quelle
Inline-Elemente (wie SPAN, LABEL usw.) werden angezeigt, sodass ihre Höhe und Breite vom Browser anhand ihres Inhalts berechnet werden. Wenn Sie Höhe und Breite steuern möchten, müssen Sie die Blöcke dieser Elemente ändern.
display: block;
Das Element wird als fester Block angezeigt (wie DIV-Tags). Dies bedeutet, dass nach dem Element ein Zeilenumbruch auftritt (es ist nicht inline). Obwohl Siedisplay: inline-block
das Problem des Zeilenumbruchs beheben können , funktioniert diese Lösung in IE6 nicht, da IE6 Inline-Block nicht erkennt. Wenn Sie möchten, dass es browserübergreifend kompatibel ist, lesen Sie diesen Artikel: http://webjazz.blogspot.com/2008/01/getting-inline-block-working-across.htmlquelle
Label eine Breite zu geben, ist kein richtiger Weg. Sie sollten eine Div- oder Tabellenstruktur verwenden, um dies zu verwalten. Wenn Sie jedoch nicht Ihren gesamten Code ändern möchten, können Sie den folgenden Code verwenden.
quelle
quelle
Sie können dies auf jeden Fall versuchen
quelle
Sie können entweder allen Labels einen Klassennamen geben, damit alle dieselbe Breite haben können:
Beispiel
oder Sie können einfach den Rest des Etiketts geben
quelle