Z-index работает не так, как я ожидал

Итак, я получил это примерно:

<div id = "A">
    <ul>
        <li id = "B">foo</li>
    </ul>
</div>
<div id = "C">
    ...
</div>

Они расположены так, что B и C перекрываются.

A имеет z-index из 90, B имеет z-index из 92, а C имеет z-index из 91. Но C появляется перед B. Что я делаю не так? (Сообщите мне, если потребуется более подробная информация.)

Не могли бы вы опубликовать используемую вами таблицу стилей?

Dillie-O 23.12.2008 22:14

Спасибо, что разбили свой вопрос на простой общий случай. Это сделало ответ более поучительным. :)

Nathan Long 23.12.2008 22:35
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
5
2
962
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Использование z-index актуально только для элементов в одном контейнере. Поскольку B содержится внутри A, z-индекс B будет применяться только при разрешении других элементов внутри A. Что касается C, то и B, и A отображаются с z-index 90. Однако если C помещается внутри A, то B будет отображаться спереди.

Если у элемента нет стиля position: relative / position: absolute / position: fixed, это position: static, который является стилем позиции по умолчанию для всех элементов.

С элементом position: static, z-index просто не работает. Браузер будет отображать стек в порядке элемента xml и игнорировать свойство z-index.

Чтобы такая ситуация сработала, вам нужно добавить позицию: относительно всех трех элементов: A, B, C.

Чтобы узнать больше о z-index и наложении CSS, перейдите сюда: http://www.tjkdesign.com/articles/z-index/teach_yourself_how_elements_stack.asp

Другие вопросы по теме