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

本文探讨了块级元素的宽度如何受浮动属性的影响。当宽度设为auto时,块级元素通常会占据可用的全部空间,但若应用了浮动,则宽度会依据内容进行调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果块级元素的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>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值