下面看一段代码:
<div style="border: 10px solid #f00;">
<div style="height: 100px; float: left; background: tomato;">子元素A</div>
<div style="height: 150px; float: right; background: aquamarine;">子元素B</div>
<div style="height: 200px; background: blueviolet;">子元素C</div>
</div>
- 看上面这个例子,A元素和B元素都浮动了,A元素左浮,B元素右浮动。所以,原本C元素是要老老实实的呆在他们下面的,结果现在因为A元素和B元素“飘起来”了,所以C元素就跑到他们两个的“底下”了(抬头就能看见A和B飘在头上的那种)。
- 当你设置clear:left的时候,意思就是不让C元素受到它“前面”(这里一定要注意是“前面”,哪怕C后面的元素不管浮不浮动,对C都是没有影响的)的具有“float:left”属性的dom元素的影响。
- 当你设置clear:right的时候,意思就是不让C元素受到它“前面”的具有“float:right”属性的dom元素的影响。
- 当你设置clear:both的时候,意思就是不让C元素受到它“前面”的具有“float:left”属性或“float:right”属性的dom元素的影响。