>  기사  >  웹 프론트엔드  >  [CSS]浮动的那点事儿

[CSS]浮动的那点事儿

WBOY
WBOY원래의
2016-07-21 14:52:59947검색

元素是怎样浮动

元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。

一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

浮动元素之后的元素将围绕它。

浮动元素之前的元素将不会受到影

 

正文

浮动是一种半脱离文档流的状态,他不像绝对定位那样完全脱离文档流

  绝对定位:

  


    

  

  

  此时div1没有设置高度,虽然在div2中设置了高度100px,但是div2是撑不开div1的高度的,因为绝对定位完全脱离文档流,div1是完全感受不到div2的;

 

浮动:第一种情况 

  


    

  

  

  我们在div2中设置了向左浮动,假如你没有在div1中清除div2浮动带来的影响,那么你也是无法撑开div1的高度的,因为div1感受不到浮动.

  但是当你清除了浮动之后,div1就能感受到浮动的存在了(相当于浮动现在是在文档流中),高度就会撑开。

  这里有两种解决方法

  

  

 

浮动:第二种情况

  

神经病阳癫疯


  

  

  因为浮动(div2)能感受得到这里的

,所以该怎么显示就怎么显示;即浮动元素之前的元素将不会受到影响。

  

 

浮动:第三种情况

  


  

神经病阳癫疯

  

  

是感受不到浮动(div2)的存在的,那么

是会被浮动覆盖的,但是他又不是完全被覆盖。

  我们可以发现

的背景确实是被覆盖了,但是

的文本内容没有被覆盖,这也是浮动的一个怪异的地方——浮动不会覆盖文档流中文本,但是其他属性会覆盖。

  解决方法

    给

设置一个clear:left; 清除浮动的影响,让

能感受的到(div2)的存在。

  


  

神经病阳癫疯

  

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.