xhtmlcss:XHTML+CSS利用浮动与定位布局

  浮动

CSS允许任何元素浮动float,不论是图像,段落还是列表。无论先前元素是什么状态,浮动后都成为块级元素。浮动元素的宽度缺省为auto。

浮动有一系列控制它的规则。
1.浮动元素的外边缘不会超过其父元素的内边缘。
2.浮动元素不会互相重叠。
3.浮动元素不会上下浮动。
4.如果一个浮动元素在另一个浮动元素之后显示,而且会超出容纳块,则它下降到低于先前任何浮动元素的位置。说简单点就是没有空间的话,就另起一行。

下面是一个例子:

<div id=\"main\">
<div id=\"box1\">box1</div>
<div id=\"box2\">box2</div>
<div class=\"clear\"></div>
</div>

#main{ width:100%; }
#box1{ float:left; width:40%;}
#box2{ float:right; width:60%;}
.clear{ clear:both;}

这是一个一行两列的例子,其中clear的作用是不让浮动元素下面的元素环绕在它周围。

  定位

position,我们通常用到的是绝对(absolute)和相对(relative)定位,运用这些定义,同样可以进行布局,做出上面一行两列的例子。

<div id=\"main\">
<div id=\"box1\">box1</div>
<div id=\"box2\">box2</div>
</div>

#main{ position:relative;width:100%;}
#box1{ position:absolute; top:0; left:0; width:40%;}
#box2{position:absolute; top:0; right:0; width:60%;}

通常,做弹出菜单的时候,我会用到定位,父元素相对定位position:relative,其中的子元素绝对定位position:absolute,通过top,right,bottom,left的值来控制子元素的位置,要注意的是子元素的位置将相对于父元素,而不是整个页面。

  浮动与定位的区别

通过定位虽然也可以进行布局,但是它的特点决定了它不适合做页面的布局,因为被定义的元素在普通文档中占有的任何空间都将被关闭,可以说,它是漂浮在整个页面上面的,所以,它可以和页面上其他的内容重叠显示。

这个特点可以方便的让我们做出其他特殊的效果,但是相对与浮动就布局来说,我们更多的还是用浮动。


Tags:  css浮动层 css浮动 xhtmlcss教程 xhtmlcss

延伸阅读

最新评论

发表评论