2010-05-12 2 views
119

Тэг ярлыка не имеет свойства «ширина», поэтому как я должен контролировать ширину метки метки?Как я могу контролировать ширину метки метки?

+7

Ярлык является встроенным элементом, он не может иметь значение ширины; для этого вам нужно поставить 'display: block' или' float: left'. –

ответ

151

Использование CSS, конечно ...

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

Атрибут width является устаревшим, и CSS всегда должны быть использованы для управления этими видами презентационных стилей.

+4

Но это приводит к перерыву в коде, что, вероятно, не означает, что OP ** не хочет в первую очередь. –

+43

@ Konrad Тогда OP может использовать 'float' или' display: inline-block' –

+2

Yup, вот что я хотел получить. :-) Это основной аспект здесь, так как это сложная часть. Простое значение 'width' не будет иметь большого значения. –

27

Отображаются встроенные элементы (например, SPAN, LABEL и т. Д.), Так что их высота и ширина вычисляются браузером на основе их содержимого. Если вы хотите контролировать высоту и ширину, вы должны изменить блоки этих элементов.

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

71

Использование встроенного блока лучше, потому что оно не заставляет остальные элементы и/или элементы управления рисоваться в новой строке.

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

OR 

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

OR 

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

Предоставление ширины этикетки не является надлежащим образом. вам нужно взять одну структуру div или таблицы для управления этим. но если вы не хотите изменять весь код, вы можете использовать следующий код.

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

«Дать ширину ярлыкам не соответствующим образом» для управления шириной элемента метки? Ты уверен? – Oriol

+0

Да .. Потому что, когда мы хотим создать какой-либо макет или конкретную структуру, вам будут предоставлены свойства div и table. Ярлык не предназначен для указания ширины или высоты. Поэтому, если мы используем что-то, что не предназначено для этого, оно каким-то образом начнет создавать проблемы. Надеюсь, сейчас у меня есть смысл. –

0

Вы можете дать имя класса для все этикетки, так что все может иметь одинаковую ширину:

.class-name { width:200px;} 

Пример

.labelname{ width:200px;} 

или вы можете просто Упокой этикетки

label { width:200px; display: inline-block;} 
Смежные вопросы