Подтвердить что ты не робот

CSS: "display: auto;"?

Параметр auto, который дает несколько атрибутов CSS, действительно полезен. Однако для атрибута display, похоже, не существует. Я ожидаю, что это установит атрибут display для браузера по умолчанию в зависимости от тега; например, a <div> будет reset до display: block;, но a <span> будет reset до display: inline;.

  • Есть ли эквивалент display: auto, который я пропустил?
  • Если нет, почему бы и нет?
  • Какое самое элегантное обходное решение? (Я работаю программно, особенно с jQuery.)
4b9b3361

Ответ 1

Вы должны использовать:

$('element').css('display','');

Это установит display в значение по умолчанию для element в соответствии с текущим каскадом CSS.

Например:

<span></span>

$('span').css('display','none');
$('span').css('display','');

приведет к span с display: inline.

Но:

span { display: block }

<span></span>

$('span').css('display','none');
$('span').css('display','');

приведет к span с display: block.

Это не проблема: на самом деле это почти всегда желаемый результат.

Ответ 2

В CSS3 есть начальное значение . Возможно, попробуйте display: initial;

Ответ 3

В CSS нет свойства display: auto, допустимые значения здесь

Значение по умолчанию display: inline. См. ссылку на отображение из MDN

Почему нет автоматической стоимости? Просто потому, что определение CSS для правила. Вы также должны видеть правила CSS по специфике, как указано в этой статье

Надеюсь, это поможет.

Ответ 4

Здесь есть опция inherit, которая:

Указывает, что значение свойство отображения должно быть унаследовано из родительского элемента

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

document.getElementById('myElement').style.display = '';

Ответ 5

в зависимости от родительского элемента и соответствующего элемента тега браузер может быстро настроить его. Наиболее эффективно всегда использовать стандарты DTD в вашем теге открытия HTML, чтобы объявлять другие доступные свойства для селектора экрана, иначе он использует только "блок" и "встроенный". следовательно, если DTD объявлен, использование свойства display: inline-block; было бы лучше в этом случае.