Комментарии 30
IE9 голосует за третий пункт…
Спасибо, про прозрачость не знал. Слава джизосу, подобных ограничений никогда не встречал.
Ну и кажется, количество букв в статье можно легко уменьшить в 2 раза. И хорошо бы отметить особенности поведения z-index'а в ИЕ.
Ну и кажется, количество букв в статье можно легко уменьшить в 2 раза. И хорошо бы отметить особенности поведения z-index'а в ИЕ.
IEшникам по барабану этот баг в головах разработчиков спецификаций и тут я с его разработчиками полностью солидарен
НЛО прилетело и опубликовало эту надпись здесь
То есть, стандарт говорит еще и о создании нового контекста в результате применения css трансформаций или это по странному стечению обстоятельств — особенность реализации большинства браузеров?
По ссылке из статьи, ведущей на описание zIndex на сайте W3C собственно и о влиянии opacity ничего нет. Нужно смотреть где-то в другом месте?
По ссылке из статьи, ведущей на описание zIndex на сайте W3C собственно и о влиянии opacity ничего нет. Нужно смотреть где-то в другом месте?
Спасибо за статью, это для меня открытие.
Возможно стоило бы как-то детальнее рассказать о таких сущностях, как контексты, с ними все еще не полностью понятно.
К примеру, вы могли бы вкратце рассказать основные алгоритмические шаги решения след. задачи:
Есть произвольное (не плоское) dom-дерево. Каждый элемент спозиционирован не статически. Как задать каждому из элементов глобальный порядок наложения (допустим, у всех элементов есть атрибут globalZIndex) независимо от положения в dom-дереве.
а. Возможно ли это сделать не меняя html-разметку?
б. Если это невозможно, поможет ли разрешение создавать элемент, промежуточный в иерархии между родителем и детьми?
Буду очень признателен, если найдется время прояснить ситуацию
Возможно стоило бы как-то детальнее рассказать о таких сущностях, как контексты, с ними все еще не полностью понятно.
К примеру, вы могли бы вкратце рассказать основные алгоритмические шаги решения след. задачи:
Есть произвольное (не плоское) dom-дерево. Каждый элемент спозиционирован не статически. Как задать каждому из элементов глобальный порядок наложения (допустим, у всех элементов есть атрибут globalZIndex) независимо от положения в dom-дереве.
а. Возможно ли это сделать не меняя html-разметку?
б. Если это невозможно, поможет ли разрешение создавать элемент, промежуточный в иерархии между родителем и детьми?
Буду очень признателен, если найдется время прояснить ситуацию
Насколько я сам в этом всем разобрался, в общем случае не получится так сделать.
Вы рано или поздно наткнетесь на ситуацию, при которой элемент в одном контексте будет перекрываться другим, в не зависимости от установленных значений z-index.
Но танцевать всё равно надо от конкретной реализуемой задачи и структуры DOM-а!
В некоторых случаях да, т.к. при добавлении элемента (при условии, что мы установим ему позиционирование и z-index) он образует новый контекст, тем самым его дочерние элементы унаследуют этот контекст, и элементы всплывут, как в примере в статье.
Вы рано или поздно наткнетесь на ситуацию, при которой элемент в одном контексте будет перекрываться другим, в не зависимости от установленных значений z-index.
Но танцевать всё равно надо от конкретной реализуемой задачи и структуры DOM-а!
б. Если это невозможно, поможет ли разрешение создавать элемент, промежуточный в иерархии между родителем и детьми?
В некоторых случаях да, т.к. при добавлении элемента (при условии, что мы установим ему позиционирование и z-index) он образует новый контекст, тем самым его дочерние элементы унаследуют этот контекст, и элементы всплывут, как в примере в статье.
хм… Блоку текста присваиваем z-index:-1, поверх него div с максимальной прозрачностью. Вуаля! Получаем защиту текста от выделения и копирования. Простенькую, конечно, но даже ее 40-60% типовых «пользователей интернета» не обойдет. Зато никаких JS.
Извините, я может не заметил, но не могли бы вы уточнить как это в разных браузерах работает (если по спецификации, то все хорошо, а если нет...)? К сожалению у самого сейчас нет возможности проверить. За статью спасибо.
Хочу просто заметить на всякий случай, что знать это конечно хороше, но в жизни такие хаки лучше не применять если совсем не прижмет.
Ещё один геморрой от w3c.
Ну зачем это было сделано, зачем?!
Ну зачем это было сделано, зачем?!
этот хак уже не пашет?
оба примера одинаковые (хотя… тот что с прозрачностью — в начале загрузки всё таки на секунду отодвигается назад — но потом обратно вперед)
оба примера одинаковые (хотя… тот что с прозрачностью — в начале загрузки всё таки на секунду отодвигается назад — но потом обратно вперед)
Про прозрачность надо знать и помнить ибо сафари (точно не скажу с какой версии но точно в 6.2) очень трепетно относится к расположению таких элементов и может получится что элементы попап будет перекрыт безвредным на первый взгляд элементом.
Что случилось с форматированием статьи??
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
То, что вам никто не говорил о z-index