css float属性详解

定义和用法

float 属性定义元素在哪一个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素均可以浮动。浮动元素会生成一个块级框,而不论它自己是何种元素。
若是浮动非替换元素,则要指定一个明确的宽度;不然,它们会尽量地窄。
注释:假如在一行之上只有极少的空间可供浮动元素,那么这个元素会跳至下一行,这个过程会持续到某一行拥有足够的空间为止。css

描述
left 元素向左浮动
right 元素向右浮动
none 默认值。元素不浮动,并会显示在其在文本中出现的位置
inherit 规定应该从父元素继承 float 属性的值

下面举几个例子来看看float有哪些妙用

实例1

11601

css代码git

.wrap{
    width: 40%;
    margin:0 auto;
    background: #eee;
}
.div1{
width: 200px;
height: 100px;
border:1px solid red;
}
.div2{
    width:100px;
    height: 80px;
    border:1px solid green;
}
.div3{
    width:80px;
    height: 60px;
    border:1px solid blue;
}

 

这是按照正常文档流来输出的。
下面咱们改一下div1的样式
css代码github

.div1{
width: 200px;
height: 100px;
float:left;
border:1px solid red;
}

再来看下效果
1602浏览器

div2因为受到div1的浮动影响,div2填充了div1遗留下来的空间,发生重叠,div2在上面。div2的文本则被div1挡住,围绕在div1的周围。布局

这是由于浮动是不完全的脱离文档流,当某个元素使用float时,其余盒子会无视这个元素,但其余盒子内的文本依然会为这个元素让出位置,环绕在周围。而对于使用绝对布局脱离文档流的元素,其余盒子与其余盒子内的文本都会无视它。spa

能够经过给受影响的元素设置clear属性来清楚浮动,值能够是left,right,both。code

再来看一个例子对象

实例2

css代码blog

.wrap{
width: 40%;
margin:0 auto;
background: #eee;
}
.div1{
width: 200px;
height: 100px;
float:left;
border:1px solid red;
}
.div2{
    width:100px;
    height: 80px;
    float:left;
    border:1px solid green;
}
.div3{
    width:80px;
    height: 60px;
    float:left;
    border:1px solid blue;
}

效果:
no-overflow继承

当把3个div都设置为左浮动后,因为没有给wrap设置高度,没有未浮动的内容给它撑开,wrap的高度缩为0。

能够给wrap设置overflow来清楚浮动影响:
css代码

.wrap{
width: 40%;
margin:0 auto;
background: #eee;
overflow: hidden;
_zoom:1;
}

效果:
overflow-hidden

_zoom:1;属性是IE浏览器的专有属性,Firefox等其它浏览器不支持。它能够设置或检索对象的缩放比例。
效果:

实例3

css代码

img 
{
float:right;
border:1px dotted black;
}
span
{
float:left;
width:2.5em;
font:400%/80%  bold algerian,courier;
}

效果:
01161

经过给和设置浮动,让它们显示在父元素

的左上角和右上角,同时实现文字环绕。

float还能够用来实现横向两列布局,三列布局,水平菜单等,这里就不列举了。

相关文章
相关标签/搜索