H5前端开发学习笔记

H5前端开发学习笔记——0x15清除浮动

2018-07-09  本文已影响0人  夜莺之刃

清除浮动

浮动元素高度问题

  1. 在标准流中,内容的高度可以撑起父元素的高度
  2. 在浮动流中,浮动的元素是不可以撑起父元素的高度的

清除浮动方式一

给前一个父元素设置高度

注意点

企开中,能不写高度就不写高度,所以这种方式用的很少,不推荐使用

清除浮动方式二

给后面的盒子添加clear属性

取值

注意点

为标签添加clear之后,标签的margin属性就失效了

margintop失效原因

当子元素设置margin-top后,它前一个元素已经浮动了,他按理说是应该顶着body下移,但是body是不会动的,只要你给body加个border,然后margin-top大于它上一个元素的高,那就何以实现当前子元素的下移,但企开中,没人会给body加边框的,加边框仅仅作为理解

清除浮动方式三

即隔墙法

1. 外墙法

在两个盒子中间添加一个块级元素,然后为其设置clear:both

注意点

2. 内墙法

在第一个盒子中所以子元素最后添加一个块级元素,然后为其设置clear:both

注意点

内外墙的区别

外墙法不能撑起第一个盒子的高度,而内墙法则可以

注意一下

隔墙法在企开中不常用,因为你添加那一堆空白的块级元素很没意义,违背结构和样式分离的原则

伪元素选择器

它是给指定标签内容前面添加一个子元素,或者给标签内容后面添加一个子元素

格式

div::before {
    content: "this is";
    width: 50px;
    height: 50px;
    background-color: pink;
    display: block;
}

div::after {
    /* 指定添加的子元素中的内容 */
    content: "world!";
    /* 指定添加子元素的宽高 */
    width: 50px;
    height: 50px;
    /* 指定添加子元素的背景颜色 */
    background-color: pink;
    /* 指定添加子元素的显示模式 */
    display: block;
    /* 指定添加子元素的可见方式,hidden为隐藏 */
    visibility: hidden;
}

清除浮动方式五

    /* 设置添加的子元素的内容为空 */
    content: "";
    /* 设置添加的子元素为块级元素 */
    display: block;
    /* 设置添加的子元素的高度为0,让其不占用空间 */
    height: 0;
    /* 设置添加的子元素为隐藏 */
    visibility: hidden;
    /* 重要!!!!设置添加的子元素设置clear: both */
    clear: both;
}
.box1 {
    /* 兼容IE6的骚操作 */
    *zoom: 1;
}

清除浮动方式六

overflow: hidden;

  1. 他可以将超出标签范围的内容裁减掉
  2. 清除浮动
  3. 给外面的盒子设置overflow: hidden并让里面的盒子设置margin-top之后,外面的盒子不被顶下来

注意

上一篇 下一篇

猜你喜欢

热点阅读