您的位置:首页 > 其它

浮动,影响width:auto块级元素的默认宽度(宽度值与浮动之间的关系)

2014-10-13 09:43 302 查看
如果块级元素的width属性设置为auto的话(如果不设置,默认是auto),块级元素的宽度等同于浏览器 窗口所显示的大小,也就是会尽可能占据可以占据的空间。

但当width:auto的块级元素遇到浮动(float)之后,其宽度不再等同于根据浏览器 窗口所显示的大小,而是随着盒模型中的内容而产生变化,即width会根据元素里的内容尽可能小地占用空间(收缩以适应内容,shrink-to-fit,参考文档:http://www.w3.org/TR/CSS21/visudet.html#float-width)。

为了更好地理解关于宽度值跟浮动之间的关系,附上《CSS那些事儿》里的相关代码:

<!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=gb2312" />
<style type="text/css">
* {
margin:0;
padding:0;
font-size:12px;
}
div {
height:30px;
line-height:30px;
}
hr {
clear:both;
}
.header, .footer {
height:50px;
text-align:center;
line-height:50px;
}
</style>
<title>宽度值与浮动之间的关系</title>
</head>

<body>
<div class="header">头部信息</div>
<hr />
<div style="width:auto;background-color:#999999;">width:auto;background-color:#999999;</div>
<hr />
<div style="width:auto;padding:0 200px;background-color:#EEEEEE;">width:auto;padding:0 200px;background-color:#EEEEEE;</div>
<hr />
<div style="width:auto;margin:0 100px;background-color:#999999;">width:auto;margin:0 100px;background-color:#999999;</div>
<hr />
<div style="width:auto;padding:0 200px;margin:0 100px;background-color:#EEEEEE;">width:auto;padding:0 200px;margin:0 100px;background-color:#EEEEEE;</div>

<hr />

<div style="float:left;width:auto;background-color:#999999;">float:left;width:auto;background-color:#999999;</div>
<hr />
<div style="float:left;width:auto;padding:0 200px;background-color:#EEEEEE;">float:left;width:auto;padding:0 200px;background-color:#EEEEEE;</div>
<hr />
<div style="float:left;width:auto;margin:0 100px;background-color:#999999;">float:left;width:auto;margin:0 100px;background-color:#999999;</div>
<hr />
<div style="float:left;width:auto;padding:0 200px;margin:0 100px;background-color:#EEEEEE;">float:left;width:auto;padding:0 200px;margin:0 100px;background-color:#EEEEEE;</div>
<hr />
<div class="footer">底部信息</div>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  浮动 宽度值
相关文章推荐