z-index 实例讲解
最近有朋友在留言中问我关于 CSS 中 z-index 的问题,来回纠结了好几个回合,也不知道现在对方到底搞清楚没,我想授人以鱼,还不如授人以渔,所以就整理了一下 z-index 属性的一些基本用法,顺便做了一个 DEMO 实例便于比较学习。本来想参考一下网上有没有现成的教程照搬一个,但是搜了一下,有的写的很简单,甚至没有实例,初学者不太能有直观的印象,有的则写的太复杂,把不太可能碰到的特殊情况都列入其中,太打击初学者的积极性了。看来看去还是我写的比较适中,哈哈,只要看会以下几点,这 z-index 的基本用法也就会了。
用法:z-index: auto | number;
在没有定义 z-index 时,默认就是 auto 值,number 就是非默认情况下 z-index 的取值,范围是整数,一般我不太用到负数。这个 z-index 还是很好理解的,就是三维坐标轴上的 Z 轴,也就是垂直于显示器的那根轴,z-index 的值大的将叠堆在值比较小的之上,换句话说,就是 z-index 数值越大就离我们的视线越近!有一点需要注意的是:z-index 属性仅适用于定位元素,比如说 position:absolute;position:relatve;position:fixed; 没有这三种之一的定位支持,单独使用 z-index 是无意义的。
下面来看两个实例:
以下实例中的关键样式:
.blue,.red,.green,.yellow{position:absolute;}
实例一 HTML 部分:
<div class="blue">z-index:1</div>
<div class="red">z-index:2</div>
<div class="green">z-index:3</div>
<div class="yellow">z-index:4</div>
</div>
实例一 效果:
实例二 HTML 部分:
<div class="blue">z-index:4</div>
<div class="red">z-index:3</div>
<div class="green">z-index:2</div>
<div class="yellow">z-index:1</div>
</div>
实例二 效果:
通过以上两个例子,就可以很轻松地理解 z-index 的基本用法了,当然,还有需要注意的一点是,如果两个进行比较的 z-index 不是处在同一级的标签中,则各自向上寻找动态定位元素,并分别对其祖元素进行比较,此时,子元素的 z-index 值无论多大,都是父元素大的居上。这段话一时之间比较难理解,佩上实例三就会明白了:
实例三 HTML 部分:
<div class="blue">z-index:2
<div class="red">z-index:3</div>
</div>
<div class="green">z-index:1
<div class="yellow">z-index:4</div>
</div>
</div>
实例三 效果:
在这里可以看到,虽然黄色方块的 z-index:4 值大于红色方块的 z-index:3,但是红色却仍然盖住了黄色,那是因为红色是蓝色方块的子元素,而黄色是绿色方块的子元素,此时就要先比较蓝色与绿色方块,显然蓝色的 z-index:2 比绿色的 z-index:1 大,于是红色方块也就“狐假虎威”地盖过了绿色和黄色。
花花绿绿的,有没有把你绕晕呢?z-index 还有很多乱七八糟的复杂的特殊情况,不过如果掌握以上三个实例,我觉得也就十拿九稳了,欢迎补充~
另外,为了方便大家参考,我把以上三个实例合并在一起做了一个 DEMO,有兴趣的朋友可以看一下,查看其源码就可以看到完整的 DIV+CSS 了。
-
网页栅格化布局之我见2011年04月29日 -
浮动元素的水平居中2011年04月4日 -
你看这个链接2不2?2011年03月16日 -
自适应树型结构的 HTML2011年02月17日
不是很了解```研究研究啊````
很不错的文章。。写的真好。。。
加我QQ 有急事 119276959
有事请留言
实例3我倒是第一次学习!!受教!!
呵呵,实例三才是本文的重点嘛
很深奥啊
这个很熟悉。。
仔细膜拜后,发现真的不错哈!
哇 这么详细呢!辛苦啦!
孤陋寡闻这个完全不懂也··
发现留的有点脑残...
了解了解~~~
要他们看书吧 书上写得很清楚
有些人和我一样,懒的看书,哈哈
嗯 在Jquery弹出层里用过
我在二级导航时用过,呵呵,用的地方还挺多的
在学CSS,还没有学到这块儿呢,嘿嘿……
万戈兄弟给介绍介绍如何学CSS呗?有啥技巧吗?
技巧就是多练习,无他
这个说的挺通俗的,对于一般的已经足够了,我上次也总结了下,如果不自己用用,也不清楚~
对于初学者而言,还是不要讲太复杂,我也只是谈谈自己的心得,嘿嘿,不过还是要多练习才会了解其真谛
先踩一下,再好好看!这个我也很需要
嘿,希望能对你有用哦
我刚刚陷于 IE6 的怪异 z-index 中:position 为 absolute 的元素 z-index 经常无效,需要把 position 为 relative 的父元素的 z-index 也设置一遍。
ie好像是特别一点,把祖元素的z-index默认为0,而不是auto
我是不是打开错了网站啊……怎么在这里教CSS教程了,我汗。
偶尔调节一下啦,否则要视觉疲劳的,呵呵
这个我几乎没用过……表现差异比较大
我也很少用,不过有时候很必要
css也上专业级了。。够厉害的! 一定得学习你的折腾精神那
把老掉牙的东西翻出来讲,惭愧惭愧呀
还有负值的应用喔 ~ 嘻嘻 ~
恩,正值比较好理解,嘿嘿,太多太复杂的就不涉及了
在IE下会有问题?
一般的应用不会有问题,但还是有特殊情况滴
这个很好用的~但是貌似对ie6不支持额……
也支持的,只是部分情况下有点区别
哈哈,感谢支持呀~
终于504完进来鸟,近来你的空间表示压力很大。z-index在ie下比较变态,父子级之间时
。。。又504了?神马情况
嘿嘿嘿...非技术流飘过...
请慢飘
干什么用呢?
前后层叠的时候会用到的
如获至宝啊
嘿嘿,希望能对你有点用吧
咋看不懂了。。
。。。这个很难吗?还好呀
没啥好说的,嗯,黄色很刺眼。
。。。我是故意把黄色调到最大块的
来看下!
学习中!!!!
呃,我想问的是,这个在哪里能用到么?你挡我我遮你的……
本思想守旧落后顽固不化者表示自重
用处可多了,最多的是用在二级菜单上,一般下拉的菜单会被下面的内容部分挡住,这就需要把菜单调整到靠前一些
一个个的24小时等sf啊 汗。。。
一个犹豫,占楼慢了。。
。。。那看来你不只犹豫了一下啊
早知道,就先评论再看文章了。。。以后不犹豫~
看明白了。
我神,看之前还有板凳,看完就鸟到这里了
3樓……
噢……我杯具
如果不算嵌套,那你也是四楼啦
om 小闇 别学我~
沒有學
之前我還是地板,之後就被你(ry
我喜欢坐身上,我的体重是2**公斤
床比SF舒服 所以在我看来一楼就是床 ·
sf
是杯具……
华丽的测试,不解释~
囧- -,还是测试。。。快捷键没改回来
為什麼打那麼多字都有SF的,請教……
沙发后假谦虚
(痛毆) 我可是很認真的請教喔
看来你还没有领悟SF的真谛,请教我吧
我的SF一向與我無緣……
没sf自己造
SF者不用解释