副作用
float: left;
float: right;
float: none;
概念
浮动范围
float: left
还是 float: right
, 浮动元素都是优先向上浮,然后再根据 left 或 right 向左或向右靠齐overflow:hidden
, 那么浮动元素超出包含块的部分也会显示其中一种
overflow: hidden
(只要不是 visible 就行了)
clear 属性清除浮动的原理是
添加元素的上外边距 margin-top
, 使得元素出现在浮动元素的下方,这个 margin-top
的值就等于浮动元素的高度
<section>
<div style="float: left"></div>
<p style="clear: both"></p>
</section>
然而,这种方法的缺点时,需要特意创建一个空的元素,对 HTML 文档造成浪费和污染,因此,常用的是使用伪元素的方法
section::after {
content: "";
clear: both;
visibility: hidden;
display:block;
height: 0;
}