网页
使用布局非常简单,如果你习惯使用tables布局,可能开始时有点困难,但其实很容易,事实上只是观念的不同。
你需要把网页的每个部分看成独立的块,你可以绝对或相对定位块。
Positioning 定位
positon
属性可以指定元素为absolute
,relative
,static
或是fixed
。
static
是元素默认属性,按HTML出现的先后顺序。
relative
比较像static
,但元素可以使用top
,right
,bottom
和left
设定初始属性。
absolute
把元素从HTML里面拉出,一切由它自己决定,在这里,绝对定位元素可以使用top
,right
,bottom
,left
定位在任何地方。
fixed
行为像absolute
,但它绝对定位的元素参照浏览器窗口与网页没有关系。所以,理论上,fixed元素可以固定在屏幕上当页面滚动时。为什么说是理论上的?因为IE7以下的浏览器不支持。
使用绝对定位布局
可以使用绝对定位创建传统的两列布局,如下:
<div id="navigation"><ul><li><a href="this.html">This</a></li><li><a href="that.html">That</a></li><li><a href="theOther.html">The Other</a></li></ul></div><div id="content"><h1>Ra ra banjo banjo</h1><p>Welcome to the Ra ra banjo banjo page. Ra ra banjo banjo. Ra ra banjo banjo. Ra ra banjo banjo.</p><p>(Ra ra banjo banjo)</p></div>
上面加上:
#navigation {position: absolute;top: 0;left: 0;width: 10em;}#content {margin-left: 10em;}
上面导航条设定在左边,宽度是10em。因为导航条是绝对定位,所以流动的页面上什么也不动,需要设定内容的左边margin等于导航条的宽度。
真是简单。你没有限制这两列的距离,使用聪明的布局,你可以随心所欲安排许多块。如果你想添加第三列,比如:
#navigation {position: absolute;top: 0;left: 0;width: 10em;}#navigation2 {position: absolute;top: 0;right: 0;width: 10em;}#content {margin: 0 10em; /* setting top and bottom margin to 0 and right and left margin to 10em *