当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > CSS实例教程:用position来布局页面

CSS样式表
CSS网页设计 IE8和IE7共存
CSS2 打印属性让打印HTML文档不出问题
制作网页中设计段落缩进的方法
CSS border 属性使用说明
CSS border-style 属性使用方法
CSS border-color 属性使用方法
CSS border-width 属性使用教程
CSS padding属性定义边内补白
CSS margin 属性定义边外补白
网页布局教程 掌握CSS网页布局属性
css 背景样式属性说明
span margin 设置生效
html 滚动条在IE6和IE7中兼容性问题
IE6 两个div有间隙的问题(IE 3px bug)
CSS 数字和字母将容器撑大问题解决
换个角度看页面重构中的语义化
DIY属于个人开发使用的CSS Reset
CSS 空格引起网页布局间距问题
CSS 网页制作时遇到问题的快速参考技巧
css li 去掉点的样式写法

CSS样式表 中的 CSS实例教程:用position来布局页面


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-03   浏览: 162 ::
收藏到网摘: n/a

我们先把上节课最后总结一句话拿出来
如果用position来布局页面,父级元素的position属性必须为relative,而定位于父级内部某个位置的元素,最好用absolute,因为它不受父级元素的padding的属性影响,当然你也可以用position,不过到时候计算的时候不要忘记padding的值。
如果你还是不能太明白这句话,我们就做个实例,把我们第5节页面的头部blog区域用定位(position)来布局一下
 

HTML代码和原来的没有区别:

<div id="Logo">
    <a href="#" id="logoLink"></a>
</div>
CSS代码就有变化了,咱先看看原来的CSS代码
#Logo{
    height:80px;
}
#logoLink{
    display:block;
    width:173px;
    height:46px;
    background:url(../Images/logo.gif) no-repeat;
    float:left;
    margin-top:20px;
}
原来是用“浮动+外边距”布局的,将#logoLink定位在距离顶部20像素,左侧0像素的地方;
如果用position的方法,CSS就应该这么写,首先给#logo加上“position:relative;”,给#logoLink加上“position:absolute;”,然后让#logoLink距离上面20像素,左侧0像素,具体代码如下:
#Logo{
height:80px;
position:relative;/*相对定位*/
}
#logoLink{
display:block;
width:173px;
height:46px;
background:url(../Images/logo.gif) no-repeat;
position:absolute;
top:20px;
left:0;
}

怎么样效果和原来的一样吧,就是这么简单.
什么?CSS代码多了?的确,由原来的两句话,变成现在的四句,但是有没有发现,就靠Position我们就可以将Logo随意的定位于任何一个地方!这就是它的灵活的地方!如果在页面顶部在有一行“加入收藏 | 设为首页 | RSS订阅”如下图,你是不是也可以很方便的将它们定位于右上角呢~

但是定位(position)有一个缺点,不会自适应内部元素的高度,所以平时我们在布局页面的时候,如果某个或者某些模块高度永远不变,就可以用定位,但是KwooJan建议大家布局页面的时候,还是要以Float为主,Position为辅!这样你才能做出高质量的页面。
=========================================================================
最后,请大家记住我这句话:“布局页面,Float为主,Position为辅!
=========================================================================
好,我们有关页面布局的教程,算是已经完结。
如果能悟透每节课内容,你现在就可以拍着胸脯说“我是DIV+CSS高手!”哈哈,不过你要知道,DIV+CSS的叫法是不标准的,应该叫... ...
什么你想不起来了?!
咣当!~~


再说一句,在我们布局页面的时候,难免遇到一些IE BUG,这时候就需要CSS Hack(解决CSSbug的方法叫做CSS Hack),这块也挺简单的,推荐一篇文章《不同浏览器CSS Hack写法》,如果还有不懂多看看论坛的“『CSS浏览器兼容』”板块,或者baidu,google,这些知识我就不再单独来一节课讲了。

谢谢大家对我的支持!Kwoojan在这里说声“谢谢”,希望大家能够继续支持论坛!

如果大家还需要我出什么教程就,告诉我!我会找时间给大家具体讲讲!

2009年6月6日写:因大家强烈要求我写一篇关于浏览器兼容方面的课程,所以“第八课:CSS Hack”,我已将这节课写出来了,大家可以接着学!

看完这节课,可以到“想提高,来练习”板块,做一些练习题,进行巩固加强