特点:
1、有定位属性的元素谁在上面,比的是Z-index值,谁的值大,谁就在上面
2、有定位属性的元素默认层级是0,如果层级一样,则后来者居上。
3、只有 有定位属性的元素才有层级的概念
4、只有亲兄弟元素才能比较层级
例子:
比较前
比较后
比较后为什么还是y在上面吗?不是y先进行定位的吗?
其实这个跟那个元素先定位没有关系,只跟你定义元素的先后有关系,
虽然你CSS没有写定位,可是层级是默认的
把x的层级定为2之后 请看效果
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文件,查看实现的层级效果。
最简单的就是利用CSS层级关系进行编写
比如:
<ul class="main_menu"><li>
<span>主菜单</span>
</li>
<li>
<span>主菜单二</span>
<ul class="sub_menu">
<li>三级菜单</li>
<li>三级菜单二</li>
</ul>
</li>
</ul>
CSS部分可以这样写:
<style>
ul.sub_menu {display:none} // 先让二给菜单隐藏
ul.main_menu>li:hover ul.sub_menu {display:block} //当鼠标划过第一级主菜单的li标签时,当前子级的二级ul就显示出来。
//其它的你自己再美化,主要告诉你方式
</style>