浮动属性

2020-05-28  本文已影响0人  组团学

普通流(normal flow)

浮动

<title>浮动</title>
<style>
#div1 {
width: 100px;
height: 70px;
background-color: hotpink;
float: left;
border: 1px solid red;
}

    #div2,#div3,#div4 {
        width: 100px;
        height: 70px;
        background-color: hotpink;
        float: left;
        border: 1px solid yellow;
    }

</style>

<div class="father">
<div class="child"></div>
</div>

  1. 父盒子里的所有子盒子都设置浮动,才能显示在一行上。也就是说,若其中一个子级有浮动,则其他子级都需要浮动。
float_2-0632005.png

<style>
#div1 {
width: 100px;
height: 100px;
background-color: hotpink;
float: left;
border: 1px solid red;
}

    #div2,#div3,#div4 {
        width: 100px;
        height: 100px;
        background-color: hotpink;
        float: left;
        border: 1px solid yellow;
    }
</style>

<div class="wrap">
<div id="div1">div1</div>
<div id="div2">div2</div>
<div id="div3">div3</div>
<div id="div4">div4</div>
</div>

  1. 元素添加浮动后,会具有行内块元素的特性。元素的大小完全取决于定义的大小或者默认的内容多少。浮动根据元素书写的位置来显示相应的浮动。 float_3-0632005.png

<style>
div {
height: 200px;
background-color: pink;
float: left;
/* 块级元素添加浮动后,会具有行内块元素的特性 */
}

    span {
        background-color: hotpink;
        float: left;
        /* 行内元素添加浮动后,会具有行内块元素的特性 ,可设置高度*/
        height: 100px;
    }
</style>

<div id="div1">div1</div>
<div id="div2"div2</div>
<span>行内元素</span>
<span>行内元素</span>

  1. 总结

    float 浮 漏 特

    浮: 加了浮动的元素盒子是浮起来的,漂浮在其他的标准流盒子上面。 漏: 加了浮动的盒子,不占位置的,它浮起来了,它原来的位置漏 给了标准流的盒子。 特: 特别注意,首先浮动的盒子需要和标准流的父级搭配使用, 其次 特别的注意浮动可以使元素显示模式体现为行内块特性。

浮动的影响

正常标准流:

父容器被子容器高度撑开。

float_4.png

子容器浮动后:

子容器浮动,脱标,父容器没有了高度,就不会被撑开。

float_5.png

当然,我们可以通过给父容器指定高度来解决塌陷问题。但是,很多情况下我们不方便给父容器指定高度,比如新闻,你不知道新闻里有多少字。一般情况下,我们是让下面的内容自动撑开父容器,而不是写死高度。

清除浮动方法

方法1:额外标签法

方法2:父级添加overflow清除浮动

.father{
overflow: hidden|auto|scroll;
/三个取值都可以实现。/
}

方法3:父级添加伪类清除浮动

.clearfix:before,.clearfix:after {
content:"";
display:table;
/* 这句话可以触发BFC BFC可以清除浮动 */
}
.clearfix:after {
clear:both;
}
.clearfix {
*zoom:1;
}

163_clearfix.png

方法4:父级添加双伪元素清除浮动

上一篇 下一篇

猜你喜欢

热点阅读