Допускают ли стандарты w3c одинаковые z-индексы? - PullRequest
3 голосов
/ 12 марта 2011

Просто быстрый вопрос, и я не могу найти ответ. Я где-то слышал, что вы не можете (ну, вы можете, но это не будет соответствовать стандартам w3c) иметь такие же z-индексы. Это правда? Могу ли я иметь два <div> элемента с z-индексом 3? Благодаря.

Ответы [ 7 ]

7 голосов
/ 12 марта 2011

Это неверно.Допустимо иметь несколько элементов с одинаковым z-индексом.Процитируем спецификацию W3C CSS2 :

Ящики с одинаковым уровнем стека в контексте стекирования располагаются задом наперед в соответствии с порядком дерева документов.

3 голосов
/ 12 марта 2011

Да, z-index не обязательно должно быть уникальным. Это действительно определяет, как они должны обрабатываться, хотя:

Ящики с одним и тем же уровнем стека в контексте стекирования укладываются задом наперед в соответствии с порядком дерева документов.

Подробнее см. CSS2 .

3 голосов
/ 12 марта 2011

Вы можете иметь два с одинаковым индексом.они будут просто наслоены в порядке их появления в html.

2 голосов
/ 12 марта 2011

Позиционированные элементы с 'z-index: auto' (в слое 6), поплавками (слой 4), встроенными блоками (слой 5) и встроенными таблицами (слой 5) окрашиваются так, как если бы эти элементы генерировалисьновые контексты стека, за исключением того, что их позиционированные потомки и любые дочерние контексты стека принимают участие в текущем контексте стека.

http://www.w3.org/TR/CSS2/visuren.html#z-index

В этом примере из w3c они говорят одва предмета на 5 уровне, так что я думаю, что они позволяют это.Нет ошибок проверки при попытке.

0 голосов
/ 12 марта 2011

Это не имеет смысла, вы можете иметь много похожих z-индексов, сколько хотите.Проверьте пример, который я сделал с 3 подобными z-индексами.это успешно проверяется.

Вставьте ссылку http://fiddle.jshell.net/Tnabq/show/ в http://validator.w3.org/

Приведенная выше ссылка jsfiddle является результатом примера jsfiddle, который я сделал в http://jsfiddle.net/Tnabq/, не имея всех 4 окон,

0 голосов
/ 12 марта 2011

Techism разместил ссылку на информацию W3C на z-index.Основываясь на прочтении того, что они сказали, z-индекс по умолчанию для элементов равен auto , что эквивалентно '0'.Это подразумевает, что если элемент не имеет указанного z-индекса, его z-индекс равен 0, поэтому многие элементы на многих веб-сайтах, вероятно, имеют z-индекс 0, работают нормально и соответствуют стандартам.В тексте не говорится ничего плохого о коллизиях индекса, и фактически говорится об элементах, имеющих одинаковый уровень стека.

0 голосов
/ 12 марта 2011

Подумайте об этой проблеме в реальном мире. У вас есть компьютерный стол, разделенный на квадраты. Можно ли поставить две банки с одинаковыми точками x и y на стол, предполагая, что позиция z не может измениться? Нет. В реальности две поп-банки не могут перекрывать друг друга.

Конечно, это компьютер и далеко не реальность. Но применима та же предпосылка. Вы можете установить один и тот же z-индекс для двух объектов, учитывая, что для всех объектов по умолчанию используется один и тот же z-индекс, но браузер автоматически настроит их в соответствии с порядком их отображения в HTML. Так что, в конце концов, они больше не находятся в одной и той же позиции z.

...