z-index 使用原则
1. z-index 属性适用于定位元素(position 属性值为 relative 或 absolute 或 fixed的对象)
如:
<style> .thumb{ /*position: relative;*/ z-index: 2; } .content{ position: absolute; top: 0; left: 0; z-index: 1; } </style> <div style="width: 300px;position: relative;"> <p><img src="b1.jpg" width="100" class="thumb"/> <div class="content"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. A adipisci at beatae consectetur consequatur cumque dicta, dolor dolorem doloremque ducimus eos facere incidunt, laudantium nam neque officia, quis sunt vitae!</div> </p> </div>
要想将文字置于图片下方,必须要让图片有定位属性和更大的z-index
2.每一个定位元素都归属于一个stacking context。相当于按多个关键字排序决定显示位置。
根元素形成 root stacking context,而其他的 stacking context 则由定位元素产生(此定位元素的 z-index 被定义一个非 auto 的 z-index 值),定位子元素会以这个 local stacking context 为参考,用相同的规则来决定层叠顺序。并且 stacking context 和 containing block 之间并没有必然联系。
当 stacking context 一样的时候,就用 z-index 的值来决定怎样显示,如果 z-index 也相同(即 stack level 相同),则按照档中后来者居上的原则(back-to-front )的顺序来层叠。
当任何一个元素层叠另一个包含在不同 stacking context 元素时,则会以 stacking context 的层叠级别(stack level)来决定显示的先后情况。也就是说,在相同的 stacking context 下才会用 z-index 来决定先后,不同时则由 stacking context 的 z-index 来决定。例如:
定位元素 A(z-index:100)里面有定位元素 A1(z-index:300),而定位元素 B 和元素 A 兄弟关系(z-index:200)。你会发现无论 A1 的 z-index 是多大,也会被 z-index 是 200 的 B 所覆盖,因为 A 的 z-index 只有 100。
A1(100,300)
B(200)

浙公网安备 33010602011771号