CSS之float属性解读

时间:2024-12-12 09:35:32

在web标准的网页中,页面各个元素都是以标准流的方式来进行布局的。即块元素占满指定的宽度,不指定宽度则占满整行(如<p>、<div>元素),内联元素则是在行内一个接一个的从左到右排列(如<a>、<span>元素)。这种默认的布局方式使用起来简单,但也带来很大的局限,只能从上到下显示内容,无法实现图文环绕混排的效果;无法实现两列或者多列的布局,不能很好的利用页面空间。其实要实现上述的复杂效果,我们可以借助CSS提供的float属性。

标准流代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>标准流文档</title>
<style type="text/css">
#header,#footer{height:50px;background:#ccc;}
#content{height:300px;background:#399;}
</style>
</head>
<body>
<h3>块状元素示例</h3>
<div id="header">页头</div>
<div id="content">内容</div>
<div id="footer">页脚</div>
<h3>内联元素示例</h3>
<a href="http://www.baidu.com">百度</a>
<a href="http://www.ifeng.com">凤凰网</a>
<a href="http://www.cnblogs.com">博客园</a>
</body>
</html>

示例图

CSS之float属性解读

float属性的含义:

元素使用了float属性后,可以使该元素脱离标准流本身,浮动在其他元素之上,使其不再占用原本属于该元素的空间,这样会导致后面的元素上移并占用原本属于该元素的空间。

对内容块和A标签使用浮动属性

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>浮动元素示例子</title>
<style type="text/css">
#header,#footer{height:50px;background:#ccc;}
#content{background:#399;}
#content{float:left;}
a{float:left;width:100px;}
</style>
</head> <body>
<h3>块状元素浮动示例</h3>
<div id="header">页头</div>
<div id="content">内容</div>
<div id="footer">页脚</div>
<h3>内联元素浮动示例</h3>
<a href="http://www.baidu.com">百度</a>
<a href="http://www.ifeng.com">凤凰网</a>
<a href="http://www.cnblogs.com">博客园</a>
</body>
</html>

效果图如下

CSS之float属性解读

全面理解和掌握float:

1. float属性仅对使用该属性的元素本身以及后面的元素产生影响(后面元素会上移-->页脚块上移)。

2. 内联元素使用了float属性后就会变成块级元素,就可以设置元素的高度和宽度(参考A标签)。

3. float属性一般配合后面标签的clear属性共同使用,以便清除float属性带来的对后面元素的影响。

4、使用float属性的元素,如果未设置元素宽度,则元素宽度自动调整为适应内容的宽度(参考内容DIV--内容块的大小未定义,则自动调整)。

范例解读一(用于布局)

CSS之float属性解读

此布局中,有页头+内容+页脚组成,内容中的三例都使用了float属性,设置为float:left ,而页脚块使用了clear属性,设置为clear:both;

范例解读二(图文混排)

CSS之float属性解读

要实现此布局,图片img标签可以使用了float属性,设置为float:left,而旁边的说明文字则使用p标签,为正常布局,则自动上浮到图片旁边,从而实现环绕图片的效果,而下面的发表说明可以同样使用p标签,附加clear属性,设置clear:both或者clear:left都可以,这样的话发表说明就自动在图片之下。