CSS堆叠顺序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS堆叠顺序相关的知识,希望对你有一定的参考价值。
参考技术A 层叠上下文,英文称作”stacking context”. 是html中的一个三维的概念。如果一个元素含有层叠上下文,我们可以理解为这个元素在z轴上就“高人一等”。z轴通常指用户眼睛到屏幕的一条直线。所有的元素都有层叠顺序。
首先,我们创建一个div框。
当我们试着去改变background: black,我们会发现由于背景颜色盖在边框之上,边框的颜色会有所改变。
我们试着给这个div中加个内联元素,会发现,内联元素比那个没有因为背景是黑色,而隐藏掉。
内联元素是在background之上的,所以不会被背景色覆盖掉。
接着,我们在div中再创建一个内联元素
我们会发现,子元素的背景色覆盖掉了父元素的背景色。然后,我们给子元素加个margin-top,子元素中的内联元素会将父元素中的文字覆盖掉。
我们继续添加一个浮动元素,同时稍微修改下子元素的样式,方便我们观察。
给float元素加一个margin,我们可以看到,蓝色的float元素,覆盖在div之上。
我们继续添加两个div元素
此时,我们可以看到,后出现的元素会覆盖在先出现的元素之上,但是,浮动元素仍然在顶端。
我们给两个元素都加上position。
这时,两个div都在float元素的上层。后出现的橙色元素暂时在最上面。
我们接着给.relative1加上一个z-index
此时.relative1就在最上层。但是我们给.child加上z-index并没有效果,因为要给定位元素加上z-index(不为auto)才能触发堆叠上下文。
总结下来就是下图所示(原谅我盗图):
html z-index啥意思
首先说,z-index不是HTML中的标签,而是css中的一个属性。
z-index 属性的意思是:设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。简单的说就是利用这个属性可以把一段文字置于一张图片之上,或者把图片置于文字之上,只要设置好合适的优先级就可以了。
举个实例可以清楚的说明白这个标签,例如:
<html><head>
<style type="text/css">
img.x
position:absolute;
left:0px;
top:0px;
z-index:-1
</style>
</head>
<body>
<h1>这是一个标题</h1>
<img class="x" src="/i/eg_mouse.jpg" />
<p>默认的 z-index 是 0。Z-index -1 拥有更低的优先级。</p>
</body>
</html>
效果如下:
参考技术Az-index就是说:假如两个元素重叠在一起了,他们的层叠的顺序,你可以这么理解,比如说两张重叠在一起的两张纸,哪个在上面,哪个在下面。很简单了是吧,给你推荐个小文章,相信你会对这个概念了解的更好一点层叠上下文和z-index
参考技术B 部件显示在屏幕上时,迭放的次序,数字大的放在数字小的上面。本回答被提问者采纳 参考技术C 假如两个DIV位置都是:absolute
坐标一样:
那么z-index大的DIV就会在前面
以上是关于CSS堆叠顺序的主要内容,如果未能解决你的问题,请参考以下文章