5个css布局的常见问题及解决方法
作者:不详 来源:marslau.com 【大 中 小】 浏览: 添加日期:2009-11-02 我要评论(7)
总结了5个关于css布局的常见问题,并附有解决方法,供参考。
float的3像素问题及解决办法
当使用float浮动容器后,在IE6下会产生3px的空隙,有意思的是右侧容器没设置高度时3px在右侧容器内部,当设定高度后又跑到容器的左侧了,所以对布局精度要求高的话,可以在float浮动容器样式里加针对IE6的属性”_margin-right”和”*html”,如:
#sidebar{ float:left; width:200px; _margin-right:-3px;}
或者
#sidebar{ float:left; width:200px;}
*html #sidebar{ margin-right:-3px;}
上边容器浮动后,下边的容器跟着浮动,造成页面错乱

如图中布局所示:footer必须要单独占一行,但当sidebar浮动后,content的高度小于sidebar的高度时,footer也跟着浮动到sidebar右侧了,造成页面错乱。解决办法是在maincontent和footer之间插入一个容器,设置样式
clear:both; height:0; font-size: 1px; line-height: 0px;用clear:both清除,即可使页面正常
IE6下float浮动导致双倍边距的bug
当页面内有多个连续浮动时,如本页的图标列表是采用左浮动,此时设置li的左侧margin值时,在最左侧呈现双倍情况。如外边距设置为10px,而左侧则呈现出20px,解决它的方法是在浮动元素上加上display:inline;的样式,这样就可避免双倍边距bug
当子元素浮动且未知高度时,怎么使父容器适应子元素的高度?
这种情况可在父窗口加上 overflow:auto;zoom:1;这两个样式属性,overflow:auto;是让父容器来自适应内部容器的高度,zoom:1;是为了兼容IE6而使用的CSS
HACK。zoom:1;通不过W3C的验证,这也是遗憾的一点,幸好IE支持<!–[if IE]>这种写法,可以专门针对IE来写单独的样式,所以可以把这个属性写在页面内的<!–[if IE]>中,这样应该可以通过验证了
css布局的相对定位与绝对定位
规划页面时,许多时候需要用到相对定位或绝对定位,这里边有个css技巧,掌握后有些地方就不用繁冗的js了。就是当父容器使用相对定位后,此时子元素再使用绝对定位,位置是相对于父元素。如果父元素没有定位,那么子元素的绝对定位是相对于浏览器
〖DIV+CSS教程〗Tags: css hack css bug bug IE6
相关文章
更多评论(7)..会员评论
- 123(117.43.*.*) 发表于:2010-05-23 16:11:47
- <div id="secondnav"><h1><a href="#">博客名称</a></h1><img src="css/images/logo.gif" width="177" height="55" alt="博客logo" /></div> 如上代码 怎么让h1 img元素同行显示呢?
- 管理员回复:把h1向左浮动
- daisyzoey(218.22.*.*) 发表于:2010-03-13 21:15:25
- 支持
- sminerwenwu(60.164.*.*) 发表于:2010-02-06 17:26:47
- 这个站点真的很不错,我找了好长的时间,终于找到了。
- 管理员回复:欢迎常来
- Guest(117.32.*.*) 发表于:2009-12-29 15:29:16
- 的确网站内容很实用,学习中,谢谢了
- 管理员回复:不客气
- nigi(115.152.*.*) 发表于:2009-12-14 20:02:54
- 一些教程简单实用,谢谢站长!
- 管理员回复:不客气
- 六神香水(113.97.*.*) 发表于:2009-12-09 14:12:50
- 很不错的网站
- 管理员回复:顶
- Robert9(222.130.*.*) 发表于:2009-11-06 20:19:38
- 我是常客了 呵呵 第一次留言 不错!
- 管理员回复:欢迎留言
推荐文章
热门文章
最新评论文章
推荐专题
在线交流QQ群
- 106310407(开)
- 55427134(开)
- 2993401(开)
- 30235673(开)
- 33424604(开)
- 2993401(开)
- 161512108(开)
- 161510519(开)
- 158375021(开)
- 155858414(开)
- 143309878(开)
- 16373807(开)
- 129098721(开)
- 123473199(开)
- 146991009(开)
- 135792800(开)
