Я пытаюсь переопределить/игнорировать контекст стекирования для элемента, чтобы его можно было позиционировать по оси z относительно корня страницы.Переопределить контекст Stacking CSS Z-Index
Однако, согласно статье What No One Told You About Z-Index:
Если элемент содержится в контексте стэка в нижней части порядка наложения, нет никакого способа, чтобы заставить его появиться перед другим элементом другой стековый контекст, который выше в порядке укладки, даже с z-индексом в миллиард!
Новые штабелирования контексты могут быть сформированы на элементе в одном из трех способов:
- Когда элемент является корневым элементом документа (элемент)
- Когда элемент имеет значение позиции другого чем статическое и значение Z-индекс, отличный от автоматического
- Когда элемент имеет значение непрозрачности менее 1
с Фолля благодаря пример:
HTML:
<div><span class="red">Red</span></div>
<div><span class="green">Green</span></div>
<div><span class="blue">Blue</span></div>
И некоторые CSS
.red, .green, .blue { position: absolute; }
.red { background: red; }
.green { background: green; }
.blue { background: blue; }
Если первый DIV дается opacity:.99;
, (который создает new stacking context на первом узле), то даже , если .red
имеет z-index:1
, он по-прежнему будет размещен за другими элементами, потому что он просто отображается как самый высокий элемент внутри этого стека.
Working Demo in jsFiddle
который выглядит следующим образом:
Q: Есть ли способ для элемента игнорируемых контекста стека любой из его родителей элементы и попросить, чтобы быть размещены относительно исходного контекста стека страницы?
Если он задает такой вопрос, он, вероятно, не так прост, как его предоставленный пример, и это будет болью для изменения; но, как вы указали, его единственным выбором было бы переназначить классы или переместить элементы. –
BoltClock, спасибо за ваш ответ, хотя @BrianGraham прав в этом примере, который используется для иллюстрации моей проблемы, а не сама проблема. Фактическая проблема, над которой я работал, заключалась в том, чтобы ответить на другой вопрос о SO: [Как мне получить Bootstrap Tour для работы с диалоговом окне jQuery?] (Http://stackoverflow.com/a/19846898/1366033), который я в конечном итоге решил путем перегруппировки DOM. – KyleMit