请稍候,加载中....

CSS Float(浮动)

CSS Float(浮动)

无浮动时,块级元素按照垂直方向排列

 
 

设置浮动后,块级元素按照水平方向向左或者向右排列

 
 

CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。

Float(浮动),往往是用于图像,但它在布局时一样非常有用。

浮动属性

"CSS" 列中的数字表示不同的 CSS 版本(CSS1 或 CSS2)定义了该属性。

属性 描述 CSS
clear 指定不允许元素周围有浮动元素。 left
right
both
none
inherit
1
float 指定一个盒子(元素)是否可以浮动。 left
right
none
inherit
1

元素怎样浮动

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

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

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

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

如果图像是右浮动,下面的文本流将环绕在它左边:

浮动实例代码

<style type="text/css">.box{
    width: 100%;    
    overflow: hidden;
  } 
  .box-default>div {}
  .box-float>div {float:left}
  .box>div {
    margin: 5px;
    width:120px;
    height:120px;
    border:1px solid gray;
  }
  .imgbox1 {
    background: green;
  }
  .imgbox2 {
    background: yellow;
  }
</style>

<body>
<p>无浮动时,块级元素按照垂直方向排列</p>

<div class="box box-default">
<div class="imgbox1">&nbsp;</div>

<div class="imgbox1">&nbsp;</div>
</div>

<p>设置浮动后,块级元素按照水平方向向左或者向右排列</p>

<div class="box box-float">
<div class="imgbox1">&nbsp;</div>

<div class="imgbox1">&nbsp;</div>
</div>
</body>

 


相邻浮动元素

如果你把几个浮动的元素放到一起,如果有空间的话,它们将彼此相邻。

在这里,我们对图片廊使用 float 属性:

不同元素浮动实例

<style>
.box>div {
    float: left;margin: 5px;
    width:120px;
    height:120px;
    border:1px solid gray;
    background: green;
 }
.box>img {
   float: left;
}
</style>
<div class="box ">
<div class="imgbox1">&nbsp;</div>

<img src="/uploads/2022/1/59a3b0fe-5090-4948-a188-c892361e33ef.gif">
</div>

 


清除浮动

元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用 clear 属性强制清除浮动

clear: left; 清除 float:left浮动

clear: right; 清除float: right浮动
clear: both; 取决于float浮动设置
clear 属性指定元素两侧不能出现浮动元素。
使用 clear 属性往文本中添加图片廊:

clear效果展示

1. 这七个方块通过float浮动在一起

 
 
 
 
 
 
 

2. 在黄色方块应用clear:left

 
 
 
 
 
 
 

3. 在黄色方块应用clear:right

这里的浮动属性为float: right

 
 
 
 
 
 
 

4. 在黄色方块应用clear:both

 
 
 
 
 
 
 

浮动代码尝试

<style type="text/css">#box1 {
    width: 100%;
    overflow: hidden;
  }
  #box1>div{
    margin: 3px;
    width: 100px;
    height: 100px;
    background: green;
    float: left;
  }
  #box1>div:nth-child(4){
    background: yellow;
  }
</style>
<body>
<div id="box1">
<div>&nbsp;</div>

<div>&nbsp;</div>

<div>&nbsp;</div>

<div>&nbsp;</div>

<div>&nbsp;</div>

<div>&nbsp;</div>

<div>&nbsp;</div>
</div>
</body>

 


Python学习手册-