CSS 层级

html-css017

CSS 层级,第1张

层级 Z-index

特点:

1、有定位属性的元素谁在上面,比的是Z-index值,谁的值大,谁就在上面

2、有定位属性的元素默认层级是0,如果层级一样,则后来者居上。

3、只有 有定位属性的元素才有层级的概念

4、只有亲兄弟元素才能比较层级

例子:

比较前

比较后

比较后为什么还是y在上面吗?不是y先进行定位的吗?

其实这个跟那个元素先定位没有关系,只跟你定义元素的先后有关系,

虽然你CSS没有写定位,可是层级是默认的

把x的层级定为2之后 请看效果

层级关系的布局有两种解决方法:

一种方法是使用标签的自然顺序和嵌套顺序来形成合理的布局。

而第一种方法却不是万能的,有时候我们需要将原本位于下层的元素移到另一个元素上方,那可以使用z-index;

当你定义的CSS中有position属性值为absolute、relative或fixed,

用z-index此取值方可生效。

此属性参数值越大,则被层叠在最上面。

例子:

<html>

<head>

<style>

.z1,.z2,.z3{position:absolutewidth:200pxheight:100pxpadding:5px 10pxcolor:#ffftext-align:right}

.z1{z-index:1background:#000}

.z2{z-index:2top:30pxleft:30pxbackground:#C00}

.z3{z-index:3top:60pxleft:60pxbackground:#999}

</style>

</head>

<body>

<div class="z1">z-index:1</div>

<div class="z2">z-index:2</div>

<div class="z3">z-index:3</div>

</body>

</html>

上面三个CSS,将根据z-index的值决定谁在最上层!

理论上说是不限制的层数。

一般来说,css注重的就是代码简洁,尽量缩短,代码过长,会影响加载速度。而且层级嵌套太多,对于其他人员可读性太差 。

写样式,最好不要超过3个以上的层级,只要能找到对应的标签设置样式即可。