Высота тега span в Firefox

Используя CSS,

Я пытаюсь указать высоту тега span в Firefox, но он просто не принимает его (IE делает).

Firefox принимает height, если я использую div, но проблема с использованием div - это раздражающий разрыв строки после него, чего у меня не может быть в данном конкретном случае.

Я попытался установить атрибут стиля CSS:

display: inline
for the div, but Firefox seems to revert that to span behavior anyway and ignores the height attribute once again.
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
17
0
32 046
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

Поскольку вы показываете его встроенным, высота должна быть установлена ​​на уровне вашего атрибута line-height.

В зависимости от того, как он выложен, вы всегда можете использовать float: left или float: right в диапазоне / div, чтобы предотвратить разрыв строки. Но если вы хотите, чтобы это было в середине предложения, такой возможности нет.

Встроенные элементы не могут иметь такую ​​высоту (или ширину). SPAN уже по умолчанию display: inline. В этом случае Internet Explorer на самом деле является сломанным браузером.

Вы можете изменить высоту (и ширину) элемента span, только если для него установлено значение display: block;. Это потому, что обычно это встроенный элемент. div обычно устанавливается на display: block;.

Решением может быть использование:

<div style = "background: #f00;">
    Text <span style = "padding: 14px 0 14px 0; background: #ff0;">wooo</span> text.
</div>

Не только. Это также относится к display: inline-block, display: table и некоторым другим.

Kornel 27.11.2008 23:04

Проблема в том, что 'display: inline' не может связать высоту, потому что, будучи встроенным, он получает свою высоту из своего содержимого. В любом случае, как определить высоту прямоугольника, который разорван в конце строки?

Вместо этого вы можете попробовать установить line-height или, если это не сработает, установите отступ:

/* makes the whole box higher by inserting a space between the border and the content */
padding: 0.5em 0;
Ответ принят как подходящий

<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's 1 и 2, достаточно широк, чтобы они могли поместиться, этого должно быть хорошо.

Вы можете установить для любого элемента значение display: inline-block, чтобы он мог получать высоту или ширину. Это также позволяет вам применять к элементу любые другие «стили блока».

Однако следует соблюдать осторожность, поскольку Firefox 2 не поддерживает это свойство. Firefox 3 - первый браузер на основе Mozilla, поддерживающий это свойство. Все остальные браузеры поддерживают это свойство, включая Internet Explorer.

Имейте в виду, что inline-block не позволяет вам устанавливать выравнивание текста внутри элемента в Firefox при работе в режиме совместимости. Насколько мне известно, все остальные браузеры позволяют это. Если вы хотите установить выравнивание текста во время работы в режиме совместимости, вам придется использовать свойство -moz-inline-stack вместо inline-block. Имейте в виду, что это свойство доступно только для Mozilla, поэтому вам нужно будет выполнить некоторое обнаружение браузера, чтобы убедиться, что только Mozilla получает его, а другие браузеры получают стандартный inline-block.

Вы можете обойтись без обхода браузера, указав оба параметра с параметром -moz одну секунду. Браузеры, отличные от Mozilla, игнорируют параметр -moz, но в Firefox он отменяет первый параметр. "дисплей: встроенный-блок; дисплей: -moz-встроенный-стек;"

Joel Mueller 26.05.2009 22:16

height в em = relative line-height

например height:1.1em с line-height:1.1

= 100% заполнено

выравнивание текста внутри элемента можно настроить с помощью атрибутов padding и block-inline. дисплей: встроенный блок; padding-top: 3 пикселя; Например

Чтобы установить высоту пролета, следующее должно работать в firefox

span {
  display: block;
  height: 50px;
}

Другие вопросы по теме