“如果用position来布局页面,父级元素的position属性必须为relative,而定位于父级内部某个位置的元素,最好用absolute,因为它不受父级元素的padding的属性影响,当然你也可以用position,不过到时候计算的时候不要忘记padding的值。”
如果你还是不能太明白这句话,我们就做个实例,把我们第5节页面的头部blog区域用定位(position)来布局一下
<div id="Logo">
<a href="#" id="logoLink"></a>
</div>
#Logo{
height:80px;
}
#logoLink{
display:block;
width:173px;
height:46px;
background:url(../Images/logo.gif) no-repeat;
float:left;
margin-top:20px;
}
如果用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订阅”如下图,你是不是也可以很方便的将它们定位于右上角呢~
=========================================================================
最后,请大家记住我这句话:“布局页面,Float为主,Position为辅!”
=========================================================================
好,我们有关页面布局的教程,算是已经完结。
如果能悟透每节课内容,你现在就可以拍着胸脯说“我是DIV+CSS高手!”哈哈,不过你要知道,DIV+CSS的叫法是不标准的,应该叫... ...
什么你想不起来了?!
咣当!~~
再说一句,在我们布局页面的时候,难免遇到一些IE BUG,这时候就需要CSS Hack(解决CSSbug的方法叫做CSS Hack),这块也挺简单的,推荐一篇文章《不同浏览器CSS Hack写法》,如果还有不懂多看看论坛的“『CSS浏览器兼容』”板块,或者baidu,google,这些知识我就不再单独来一节课讲了。
谢谢大家对我的支持!Kwoojan在这里说声“谢谢”,希望大家能够继续支持论坛!
如果大家还需要我出什么教程就,告诉我!我会找时间给大家具体讲讲!
. TAG: CSS position 布局页面