H5+class8

今天的内容就一点:

  • 清除浮动的六种方式

·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·……·…·…·…·…
浮动元素相对于标准流的特点:
1.在标准流中内容的高度可以撑起父元素的高度
2.在浮动流中浮动的元素是不可以撑起父元素的高度的

清除浮动的六种方式:

  • 1、方式1:给前面一个父元素设置高度
    特点:基本不用
  • 2、方式2:clear属性
    特点:none: 默认取值, 按照浮动元素的排序规则来排序(左浮动找左浮动, 右浮动找右浮动)
    left: 不要找前面的左浮动元素
    right: 不要找前面的右浮动元素
    both: 不要找前面的左浮动元素和右浮动元素
    注意:视频中讲解的元素添加clear后margin属性会失效,实验表明现在不会失效了。
  • 3、方式3:外墙法
    步骤:1.在两个盒子中间添加一个额外的块级元素
    2.给这个额外添加的块级元素设置clear: both;属性
    注意点:
    外墙法它可以让第二个盒子使用margin-top属性
    外墙法不可以让第一个盒子使用margin-bottom属性
    以上将的BUG现在已经不存在,可以正常设置
  • 4、方式3:内墙法
    1.在第一个盒子中所有子元素最后添加一个额外的块级元素
    2.给这个额外添加的块级元素设置clear: both;属性
  • 5、方式4:伪元素选择器配合使用
    格式:
    有两种取值 ::after ::before
  比如有两个div,分别命名为box1和box2
这个时候以::after为例子给box1添加伪元素清除浮动:
 .box1::after{
            /*设置添加的子元素的内容为空*/
            content: "";
            /*设置添加的子元素为块级元素*/
            display: block;
            /*设置添加的子元素的高度为0*/
            height: 0;
            /*设置添加的子元素看不见*/
            visibility: hidden;
            /*给添加的子元素设置clear: both;*/
            clear: both;
        }
        .box1{
            /*兼容IE6*/
            *zoom:1;

注意:最后写的*zoom:1是用来兼容老版本的浏览器

  • 6、方式6:overflow:hidden;
    overflow作用:
    可以将超出标签范围的内容裁剪掉
    清除浮动
    可以通过overflow: hidden;让里面的盒子设置margin-top之后, 外面的盒子不被顶下来
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,806评论 1 92
  • 盒子的高度问题 1.标准流中盒子的高度可以被内容高度撑起来;2.浮动流中浮动的内容不能撑起盒子的高度; 为什么要清...
    壹点微尘阅读 397评论 0 0
  • 1.在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 概念:在CSS当...
    饥人谷_任磊阅读 711评论 0 3
  • 一、在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 在CSS当中,相...
    dengpan阅读 603评论 0 0
  • 1;块级元素 常用的块级元素: div--无意义用在大布局上 ol --有序列表 ul --无序列表 li --列...
    web前端ling阅读 468评论 0 0