Як я можу контролювати ширину тегу мітки?


144

Тег мітки не має властивості 'width', тож як я повинен контролювати ширину мітки мітки?


8
Мітка - це вбудований елемент, він не може мати значення ширини; для цього вам потрібно поставити display:blockабо float:left.
Рассел Діас

Відповіді:


188

Звичайно, використовуючи CSS ...

label { display: block; width: 100px; }

widthАтрибут є застарілим, і CSS завжди повинен бути використаний для управління цих видів презентаційних стилів.


7
Але це призводить до розриву коду, і це, мабуть, те, що ОП не хоче в першу чергу.
Конрад Рудольф

49
@Konrad Тоді ОП може використовувати floatабоdisplay: inline-block
Джош Стодола,

2
Так, саме до цього я хотів потрапити. :-) Це головний аспект тут, оскільки це складна частина. Просто налаштування widthне матиме великої користі.
Конрад Рудольф

@JoshStodola oh shiiiiit ..... вбудований блок ніколи не працював на мене, я намагався float і bham! мені цікаво, чому Inline-block не працював для мене
Dheeraj

@lostchild inline-block не ігнорує пробіли, тому можуть виникнути проблеми з цим.
Олексій Підворний

91

Використовувати вбудований блок краще, оскільки він не змушує чергових елементів та / або елементів керування малювати у новому рядку.

label {
  width:200px;
  display: inline-block;
}

29

Вбудовані елементи (наприклад, SPAN, LABEL тощо) відображаються так, що їх висота та ширина обчислюються браузером залежно від їх вмісту. Якщо ви хочете контролювати висоту та ширину, вам потрібно змінити блоки цих елементів.

display: block;робить елемент відображається як суцільний блок (як теги DIV), що означає, що після елемента відбувається розрив рядка (він не є вбудованим). Хоча ви можете використовувати display: inline-blockдля вирішення проблеми розриву рядків, це рішення не працює в IE6, оскільки IE6 не розпізнає вбудований блок. Якщо ви хочете, щоб він був сумісний між веб-браузерами, перегляньте цю статтю: http://webjazz.blogspot.com/2008/01/getting-inline-block-working-across.html


4

Надання ширини мітці не є правильним способом. ви повинні взяти одну структуру div або table для управління цим. але все ж, якщо ви не хочете змінювати весь код, то можете використовувати наступний код.

label {
  width:200px;
  float: left;
}

"Надання ширини мітці не належним чином" управління шириною елемента мітки? Ти впевнений?
Оріол

Так .. Тому що, коли ми хочемо створити якийсь макет або конкретну структуру, тоді використовуються властивості div та table. Етикетка не призначена для надання ширини або висоти .. тому, якщо ми будемо використовувати щось, що не призначено для цього, воно почне створювати проблеми певним чином. Я сподіваюся, що я зараз має сенс.
Yaxita Shah

2
label {
  width:200px;
  display: inline-block;
}

OR 

label {
  width:200px;
  display: inline-flex;
}

OR 

label {
  width:200px;
  display: inline-table;
}


0

Ви можете надати ім'я класу всім міткам, щоб усі мали однакову ширину:

 .class-name {  width:200px;}

Приклад

.labelname{  width:200px;}

або ви можете просто дати решту етикетки

label {  width:200px;  display: inline-block;}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.