CSS 层级

html-css020

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的值决定谁在最上层!

1、新建一个html文件,命名为test.html

2、在test.html文件内,使用css设置页面所有的div宽度为300px,高度为300px,div的位置为绝对定位。

3、在test.html文件内,创建三个div,并用文字标识,分别为底层div、中层div、最顶层div。

4、在test.html文件内,分别给三个div设置class属性为one、two、three,用于下面对类名进行样式设置。

5、在css标签内,设置类名为one的div样式,设置其背景颜色为红色,距离页面左边缘为0,距离页面上边缘为0,同时使用z-index设置其层级为1。

6、在css标签内,设置类名为two的div样式,设置其背景颜色为黄色,距离页面左边缘为50px,距离页面上边缘为50px,同时使用z-index设置其层级为2,即在类名为one的div的上面。

7、在css标签内,设置类名为three的div样式,设置其背景颜色为粉红色,距离页面左边缘为100px,距离页面上边缘为100px,同时使用z-index设置其层级为3,即在页面三个div中的最顶层。

8、在浏览器打开test.html文件,查看实现的层级效果。