记得以前最初接触css,教材里总是讲:属性值的后一定要带单位,除非值是0才可以省略。于是在日后的样式中我处处小心,总怕忘记哪个给少写了。
直到今天,就因为多写了一个单位,却折腾了我好半天。。。
实例:
原结构:
<div id="container"> <div id="box1">这个box静态定位,要在上面显示!</div> <div id="box2">这个box动态定位,总是贴底边显示!</div> </div>
根据需求,重新调整下布局:
<div id="container"> <div id="box1">这个box静态定位,要在上面显示!</div> </div> <div id="box2">这个box动态定位,总是贴底边显示!</div>
css样式如下:
#container {width:100%; position:absolute; left:0; top:0;}
#box1 {width:200px; height:150px; background:#f00; margin:10px auto 0;}
#box2 {width:100%; height:30px; background:#999; position:absolute; left:0; bottom:0;}
预览:
浏览器窗口最大化时显示正常。但当改变浏览器窗口大小,box2就会浮在box1之上,这样会影响box1内容的显示,不妥;根据客户需求,当改变窗口大小,如果box1和box2重叠,box2要显示在box1后面。
根据蓝色14px关于《理解五条叠加法则,自由使用层的叠加》介绍:“同级元素定位方式相同,无z-index时,html靠后者居上;如果同时设置z-index,值大者居上”的原则,由于现#container和#box2是同级元素,分辨设置其z-index值为100px和0;再预览,发现没有效果,再改再测…问题就出在这里,为什么不生效呢?
反复测试,当将z-index:100px的单位px去掉,奇迹出现啦,终于显示正常!!
又翻了css使用手册,得到正解:
z-index:
语法取值 auto:默认值。遵从其父对象的定位。 number:无单位的整数值。可为负数。
大多数属性是必须要带单位的,但这个确实没有!
类似还有一个属性zoom,也是无单位值的,如果还有其他,请朋友们多补充。。。
写出来记录下,证明自己没白折腾。文辞贫乏,朋友们愿意看就忍着点,见笑了~~
发表评论有 8 位朋友发表了评论
不错的文章学习了25
我是从事防腐木行业的,很高兴认识大家25
很好很好。。。。热转印25
文章不赖。。。能和你换个电磁炉的友情链接吗?25
不错。。。我从事金属探测门行业的,多多交流。。。25
写的很好。。。我是做酒店用品批发行业的,以后多多指教25
z-blog 我刚才用火狐浏览器怎么留言老出错误
嗯嗯 细节决定成败