Высота SPAN в Firefox
Используя CSS, я пытаюсь указать высоту тега SPAN в Firefox, но он просто не принимает его (IE делает это, как ни странно).
Firefox принимает высоту, если я использую DIV, но проблема с использованием DIV - это раздражающий разрыв строки после него, который я не могу иметь в этом конкретном случае.
Я попытался установить атрибут стиля CSS:
display: inline
для DIV, но Firefox, похоже, снова вернется к поведению SPAN и снова проигнорирует атрибут height.
Ответы
Ответ 1
<style>
#div1 { float:left; height:20px; width:20px; }
#div2 { float:left; height:30px; width:30px }
</style>
<div id="div1">FirstDiv</div>
<div id="div2">SecondDiv</div>
Пока контейнер для всех, что держит div 1 и 2, достаточно широк для их соответствия, это должно быть хорошо.
Ответ 2
Вы можете установить любой элемент в display: inline-block
, чтобы он мог получать высоту или ширину. Это также позволяет применять любые другие "стили блоков" к элементу.
Одна вещь, чтобы быть осторожным, однако, заключается в том, что Firefox 2 не поддерживает это свойство. Firefox 3 - это первый браузер на основе Mozilla для поддержки этого свойства. Все остальные браузеры поддерживают это свойство, включая Internet Explorer.
Имейте в виду, что inline-block
не позволяет вам устанавливать выравнивание текста внутри элемента в Firefox, если он работает в режиме quirks. Все остальные браузеры позволяют это, насколько я знаю. Если вы хотите установить выравнивание текста во время работы в режиме quirks, вам нужно будет использовать свойство -moz-inline-stack
вместо inline-block
. Имейте в виду, что это свойство только для Mozilla, поэтому вам нужно будет сделать некоторое обнаружение браузера, чтобы гарантировать, что только Mozilla получит это, в то время как другие браузеры получают стандартный inline-block
.
Ответ 3
Элементы Inline не могут иметь высоты (или ширину). По умолчанию SPAN уже display: inline
. Internet Explorer на самом деле является сломанным браузером в этом случае.
Ответ 4
Поскольку вы показываете его в строке, высота должна быть установлена на высоту вашего атрибута line-height.
В зависимости от того, как он выложен, вы всегда можете использовать float: left или float: прямо на span/div, чтобы предотвратить разрыв строки. Но если вы хотите его в середине предложения, этот параметр отсутствует.
Ответ 5
Вы можете изменять высоту (и ширину) элемента span, когда он установлен на display: block;
. Это потому, что он является встроенным элементом. div
обычно устанавливается на display: block;
.
Решение может заключаться в использовании:
<div style="background: #f00;">
Text <span style="padding: 14px 0 14px 0; background: #ff0;">wooo</span> text.
</div>
Ответ 6
Проблема заключается в том, что "display: inline" не может получить высоту, потому что, будучи встроенным, он получает свою высоту от своего содержимого. В любом случае, как вы определяете высоту ящика, разбитого в конце строки?
Вместо этого вы можете попытаться установить "line-height", или если это не сработает для вашего удовлетворения, установите дополнение:
/* makes the whole box higher by inserting a space between the border and the content */
padding: 0.5em 0;
Ответ 7
Чтобы установить высоту диапазона, следует работать в firefox
span {
display: block;
height: 50px;
}
Ответ 8
height
в em
= relative line-height
например height:1.1em
с line-height:1.1
= 100% заполнено
Ответ 9
выравнивание текста внутри элемента, который вы можете настроить, используя атрибуты padding и block-inline. Дисплей: встроенный блок; обивка-топ: 3px; например