当一个元素被设置为浮动后 (例如 float: left;
或 float: right;
),它的 display
值会变为 block。
即使你原本的元素是内联元素 (例如 <span>
, <a>
, <strong>
),或者内联块级元素 (例如 <img>
, <input>
), 一旦应用了浮动,它都会表现得像块级元素一样。这意味着它会:
- 占据一行: 浮动元素会脱离文档的正常流,并尽可能地向左或向右移动。它下面的元素会向上移动,填补它原本的空间(除非你使用清除浮动)。
- 可以设置宽度和高度: 你可以为浮动元素设置
width
和height
属性,这对于内联元素来说通常是不起作用的。 - 可以设置 margin 和 padding: 所有方向的
margin
和padding
属性都会生效。
需要注意的是,虽然浮动元素的 display
计算值变成了 block
,但这并不意味着你直接在样式表中设置 display: block
和设置 float
会有相同的效果。 浮动带来的脱离文档流和贴边特性是 display: block
所没有的。