CSS(一)清除浮动

问题1:关于清除浮动

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        .father{
            background: #ccc;
        }
        .box1,.box2,.box3{
            float: left;
            height: 60px;
            background: red;
            margin: 15px;
        }

    </style>
</head>
<body>
    <div class="father">
        <div class="box1">box1</div>
        <div class="box2">box2</div>
        <div class="box3">box3</div>
        <p class=""></p>
        <p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
    </div>
</body>
</html>

以上是浮动事故发生现场,截图如下:



和box加了margin之后


当我们在style中写个样式p{clear:both;}问题解决。
因此,以后遇到这种情况可以创建一个空的p然后加入样式clear:both解决
这就是关于清楚浮动,总计有三种方法

  • 添加子元素并且写上clear:both
  • 在父元素.father中添加overflow:hidden.
  • 使用after伪对象清除,但是此方法只适用于IE8以上的(待补)

问题2:关于脱离文档流

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    ul{
        list-style: none;
    }
    .nav>li{
        float: left;
    }
    ul a{
        display: block;
        text-decoration: none;
        width: 100px;
        height: 50px;
        text-align: center;
        line-height: 50px;
        color: white;
        background-color: #2f3e45;
    }
    .nav>li:first-child a{
        border-radius: 10px 0 0 10px;
    }
    .nav>li:last-child a{
        border-radius: 0 10px 10px 0;
    }
    .drop-down{
        position: relative;
    }
    .drop-down-content{
        position: absolute;
        padding: 0;
        display: none;
    }
    h3{
        font-size: 30px;
        clear: both;
    }
    .nav .drop-down:hover .drop-down-content{
        display: block;
    }
    .drop-down-content li:hover a{
        background-color: red;
    }
    </style>
</head>
<body>
    <ul class="nav">
        <li><a href="#">首页</a></li>
        <li class="drop-down"><a href="#">运动</a>
            <ul class="drop-down-content">
                <li><a href="#">排球</a></li>
                <li><a href="#">羽毛球</a></li>
                <li><a href="#">篮球</a></li>
            </ul>
        </li>

        <li><a href="#">什么鬼</a></li>
        <li><a href="#">是什么</a></li>
        <li><a href="#">怎么样</a></li>
    </ul>
    <h3>我是测试文字</h3>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,790评论 1 92
  • 这篇文章极好,以至于让我受益良多,就一字没有改动的转发过来一丝冰凉老师的文章 需要注意的是,display:tab...
    新晋小牛牛阅读 1,070评论 0 2
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,866评论 0 6
  • 浮动,从诞生那天起,它就是个特别的属性——既为网页布局带来新的方法,却又随之产生一系列的问题。当然,随着时间的推移...
    郝特么冷阅读 853评论 0 6
  • 盒子的高度问题 1.标准流中盒子的高度可以被内容高度撑起来;2.浮动流中浮动的内容不能撑起盒子的高度; 为什么要清...
    壹点微尘阅读 396评论 0 0