CSS позиция не установлена ​​в IE11 - PullRequest
2 голосов
/ 02 июля 2019

У меня есть мегаменю, которое абсолютно позиционировано, и, поскольку некоторые из его родительских элементов должны иметь position:relative, я должен использовать position:unset для прямого родителя.Это работает в Chrome и Firefox, однако IE11 не поддерживает unset или initial.

Я не могу просто удалить относительное позиционирование из всех родительских элементов, так как это нарушит другие вещи, но мне нужно, чтобы мегамену было абсолютно позиционировано относительно страницы (фиксированная позиция не работает).Есть ли альтернатива unset, которая будет работать в IE11?

1 Ответ

3 голосов
/ 02 июля 2019

unset означает

Если каскадным значением свойства является ключевое слово unset, то если оно является унаследованным свойством , это рассматривается как inherit, а если нет, то оно обрабатывается как initial , Это ключевое слово эффективно удаляет все объявленные значения, встречающиеся

В вашем случае position не является унаследованным свойством, поэтому он всегда учитывает initial

Каждое свойство имеет начальное значение, определенное в таблице определения свойства.

Для position, это static Так что вы можете просто использовать position:static, и оно будет вести себя так же, как position:unset


Ссылка: https://drafts.csswg.org/css-cascade-3/


Чтобы сделать это более общим, вы должны использовать:

  • property:inherit если это наследственное наследство
  • property:<initial_value> если это не унаследованное пророчество. Затем вы смотрите на таблицу определения свойства, чтобы найти начальное значение.

enter image description here

https://developer.mozilla.org/en-US/docs/Web/CSS/position

...