做网页中需要掌握的八个CSS布局技巧
程序员文章站
2023-12-19 22:12:04
1.若有疑问立即检测 在出错时若能对原始代码做简单检测可以省去很多头痛问题。w3c对于xhtml与css 都有检测工具可用,请见 http://vali...
1.若有疑问立即检测
在出错时若能对原始代码做简单检测可以省去很多头痛问题。w3c对于xhtml与css 都有检测工具可用,请见 http://validator.w3.org 。请注意,在文件开头的错误,可能因为不当的结构等因素造成更多错误;我们建议先修正一些最明显的错误之后重新检测,这样也许会让错误数量爆减。
2.使用浮动功能时记得适当清除指令
浮动是个危险的功能,未必会产生您所期望的结果。如果您遇到浮动元素延伸到外围容器的边框或者其他不正常情况,请先确定您的做法是正确的。请参阅eric meyer 在complex spiral consulting web 网站上的教学。
3.边界重合时利用padding或border来避免
您可能会为了一点不应该出现的空间而焦头烂额,或者您需要一点点空间时,怎样都挤不出来。如果您有用到margin,那么很容易产生边界的重合;andy budd在他的网站上解释了可能的做法。
4.尝试避免同时对元素指定padding/border以及高度或宽度
windows版ie经常导致width与height的计算问题。有些方法可以解决此问题,但如果母元素需要指定高度与宽度时,最好能够在母元素之内的子元素套用margin,或者当子元素需要指定高度与宽度时,在母元素套用padding以达效果。
5.不要依赖min-width/min-height
windows版ie并不支援两种语法。但是在某种程度下,windows版ie可以达到相当于min-width/min-height的效果,所以只要对ie做点过滤功能,即可达到您想要的结果。
6.若有疑问,先减少百分比
有时候某些错误会使50%+50%成为100.1%,使网页出现问题。这时请尝试将这些值改为49%,甚至49.9%。
7.记住“troubled”写法
border,margin与padding的简写语法有特定顺序,从上方开始顺时针方向转动:top,right,bottom,left. 所以margin:0 1px 3px 5px;的结果是上方无边界,右边1像素,以此类推。记住“trouble”,您就不会弄错次序了。
8.只要不是零的值,都要指定单位
css需要您对每个font,margin等各种值指定单位。(唯一的例外是line-height)
在出错时若能对原始代码做简单检测可以省去很多头痛问题。w3c对于xhtml与css 都有检测工具可用,请见 http://validator.w3.org 。请注意,在文件开头的错误,可能因为不当的结构等因素造成更多错误;我们建议先修正一些最明显的错误之后重新检测,这样也许会让错误数量爆减。
2.使用浮动功能时记得适当清除指令
浮动是个危险的功能,未必会产生您所期望的结果。如果您遇到浮动元素延伸到外围容器的边框或者其他不正常情况,请先确定您的做法是正确的。请参阅eric meyer 在complex spiral consulting web 网站上的教学。
3.边界重合时利用padding或border来避免
您可能会为了一点不应该出现的空间而焦头烂额,或者您需要一点点空间时,怎样都挤不出来。如果您有用到margin,那么很容易产生边界的重合;andy budd在他的网站上解释了可能的做法。
4.尝试避免同时对元素指定padding/border以及高度或宽度
windows版ie经常导致width与height的计算问题。有些方法可以解决此问题,但如果母元素需要指定高度与宽度时,最好能够在母元素之内的子元素套用margin,或者当子元素需要指定高度与宽度时,在母元素套用padding以达效果。
5.不要依赖min-width/min-height
windows版ie并不支援两种语法。但是在某种程度下,windows版ie可以达到相当于min-width/min-height的效果,所以只要对ie做点过滤功能,即可达到您想要的结果。
6.若有疑问,先减少百分比
有时候某些错误会使50%+50%成为100.1%,使网页出现问题。这时请尝试将这些值改为49%,甚至49.9%。
7.记住“troubled”写法
border,margin与padding的简写语法有特定顺序,从上方开始顺时针方向转动:top,right,bottom,left. 所以margin:0 1px 3px 5px;的结果是上方无边界,右边1像素,以此类推。记住“trouble”,您就不会弄错次序了。
8.只要不是零的值,都要指定单位
css需要您对每个font,margin等各种值指定单位。(唯一的例外是line-height)