为什么要清除浮动?怎样清除?(float)


当前第2页 返回上一页

1

2

3

4

5

6

7

<body>

    <p class="father" style="overflow: hidden;"> 父p  <!-- 父元素添加 overflow: hidden -->

        <p class="big">子p</p>

        <p class="small">子p</p>

    </p>

    <p class="footer">兄弟p</p>

</body>

也是能实现去除浮动的效果。

优点 代码简洁

缺点 内容增多时候容易造成不会自动换行导致内容被隐藏掉,无法显示需要溢出的元素。

3、使用after伪元素清除浮动

1

:after 方式为空元素的升级版,好处是不用单独加标签了**

示例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>使用after伪元素清除浮动</title>

    <style>

    .clearfix:after {  /*正常浏览器 清除浮动*/

        content:"";

        display: block;

        height: 0;

        clear: both;

        visibility: hidden;

    }

    .clearfix {

        *zoom: 1;  /*zoom 1 就是ie6 清除浮动方式  *  ie7一下的版本所识别*/

    }

    .father {

        border: 1px solid red;

        width: 300px;

 

    }

    .big {

        width: 100px;

        height: 100px;

        background-color: purple;

        float: left;

    }

    .small {

        width: 80px;

        height: 80px;

        background-color: blue;

        float: left;

    }

    .footer {

        width: 400px;

        height: 100px;

        background-color: pink;

    }

    </style>

</head>

<body>

    <p class="father clearfix">

        <p class="big"></p>

        <p class="small"></p>

    </p>

    <p class="footer"></p>

</body>

</html>

优点 符合闭合浮动思想 结构语义化正确

缺点 由于IE6-7不支持:after,使用 zoom:1触发 hasLayout。

注意: content:"." 里面尽量跟一个小点,或者其他,尽量不要为空,否则再firefox 7.0前的版本会有生成空格。

4、使用before和after双伪元素清除浮动

使用方法 将上面的clearfix样式替换成如下

1

2

3

4

5

6

7

8

9

10

11

.clearfix:before, .clearfix:after {

    content: "";

    display: table;

}

.clearfix:after {

    clear: both;

}

 

.clearfix {

    *zoom: 1;

}

优点 代码更简洁

缺点 由于IE6-7不支持:after,使用 zoom:1触发 hasLayout。

5、总结

1

2

1、在网页主要布局时使用:after伪元素方法并作为主要清理浮动方式.文档结构更加清晰;

2、在小模块如ul里推荐使用overflow:hidden;(同时留意可能产生的隐藏溢出元素问题);

本文来自PHP中文网,CSS教程栏目,欢迎学习

以上就是为什么要清除浮动?怎样清除?(float)的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

清除浮动的方法有哪些

css如何清除浮动?clear和bfc方法介绍

清除浮动的css写法有哪些

如何使用float实现文字环绕图片

如何解决css float错位问题

css浮动的属性是什么

在html中float不属于盒子属性吗

css中如何清除float

为什么要清除浮动?怎样清除?(float

javascript怎么清除标签的浮动

更多相关阅读请进入《float》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...