Единственный способ сделать это только с помощью CSS - это использовать дополнительный div для покрытия maindiv при наведении курсора.И это не сработало бы в IE
. Это была бы разметка
<div id="MainDiv">
<div id="nesteddiv1"></div>
<div id="nesteddiv2">
<div id="extradiv"><div>
</div>
</div>
. CSS был бы очень хитрым.
(отказ от ответственности: это не было проверено - возможно, вам понадобится больше правил)
- MainDiv должен быть позицией: относительным или позицией: абсолютным, фиксированной ширины и высоты и z-index = -1.
- Вложенные div 1 и 2 НЕ могут быть позицией: относительной или абсолютной, а z-index = 1
- Дополнительный div должен быть: position: absolute, top: 0, left: 0, то же самое с указанием высоты и высоты, что и MainDiv, display: hidden и z-index = 0
- # nexteddiv2: hover #extradiv будет иметь display: block
z-indexзаставит maindiv всегда оставаться позади других, в то время как вложенные div 1 и 2 всегда остаются на вершине.extradiv будет между ними, «покрывая» maindiv, но только тогда, когда наведено nesteddiv2.
Недостаток этого метода заключается в том, что extradiv будет виден до тех пор, пока вы не перестанете его висеть, а не просто nesteddiv2.