css属性值de单位问题

2009年5月5日 | 标签: ,

记得以前最初接触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,也是无单位值的,如果还有其他,请朋友们多补充。。。

写出来记录下,证明自己没白折腾。文辞贫乏,朋友们愿意看就忍着点,见笑了~~

  1. 2009年10月7日12:12

    不错的文章学习了25

  2. 2009年7月6日16:44

    我是从事防腐木行业的,很高兴认识大家25

  3. 2009年7月4日18:28

    很好很好。。。。热转印25

  4. 2009年7月2日10:33

    文章不赖。。。能和你换个电磁炉的友情链接吗?25

    hzhjun 于 2009-7-2 13:59:36 回复

    非常抱歉,由于本站还在完善阶段,还未开始交互链接,且您网站内容与本站内容不属同类内容。
    另请不要用同一网址不同用户名重复提交,谢谢!

  5. 2009年7月2日10:06

    不错。。。我从事金属探测门行业的,多多交流。。。25

  6. 2009年7月2日09:46

    写的很好。。。我是做酒店用品批发行业的,以后多多指教25

  7. 2009年5月8日21:21

    z-blog 我刚才用火狐浏览器怎么留言老出错误

    hzhjun 于 2009-5-10 16:39:15 回复

    我现在在FF下试试,多谢朋友的指正!

  8. 2009年5月8日21:20

    嗯嗯 细节决定成败

    hzhjun 于 2009-5-10 16:20:57 回复

    多谢朋友捧场~~Haha