H5前端開發(fā)學習筆記——0x15清除浮動

清除浮動

  • 課時130 浮動元素高度問題(掌握)
  • 課時131 清除浮動方式一(理解)
  • 課時132 清除浮動方式二(理解)
  • 課時133 margintop失效原因(理解)
  • 課時134 清除浮動方式三(理解)
  • 課時135 清除浮動方式四(理解)
  • 課時136 偽元素選擇器(掌握)
  • 課時137 清除浮動方式五(理解)
  • 課時138 清除浮動方式六(理解)

浮動元素高度問題

  1. 在標準流中,內(nèi)容的高度可以撐起父元素的高度
  2. 在浮動流中,浮動的元素是不可以撐起父元素的高度的

清除浮動方式一

給前一個父元素設置高度

注意點

企開中,能不寫高度就不寫高度,所以這種方式用的很少,不推薦使用

清除浮動方式二

給后面的盒子添加clear屬性

取值

  • none 默認取值,按照浮動元素的排序規(guī)則來排序
  • left 不要找它前面的左浮動元素
  • right 不要找它前面的又浮動元素
  • both 不要找它前面的左浮動元素和有浮動元素(企開用的最多)

注意點

為標簽添加clear之后,標簽的margin屬性就失效了

margintop失效原因

當子元素設置margin-top后,它前一個元素已經(jīng)浮動了,他按理說是應該頂著body下移,但是body是不會動的,只要你給body加個border,然后margin-top大于它上一個元素的高,那就何以實現(xiàn)當前子元素的下移,但企開中,沒人會給body加邊框的,加邊框僅僅作為理解

清除浮動方式三

即隔墻法

1. 外墻法

在兩個盒子中間添加一個塊級元素,然后為其設置clear:both

注意點

  • 外墻法能讓第二個盒子用margin-top屬性,但不能讓第一個盒子使用margin-bottom屬性
  • 在企開中,我們要是想讓上下兩個盒子隔開的話,都是給我們添加的那個塊級元素設置高度就行

2. 內(nèi)墻法

在第一個盒子中所以子元素最后添加一個塊級元素,然后為其設置clear:both

注意點

  • 內(nèi)墻法能讓第二個盒子用margin-top屬性,也可以讓第一個盒子使用margin-bottom屬性
  • 為那個新加的塊級元素設置高度也可以實現(xiàn)其對應的效果

內(nèi)外墻的區(qū)別

外墻法不能撐起第一個盒子的高度,而內(nèi)墻法則可以

注意一下

隔墻法在企開中不常用,因為你添加那一堆空白的塊級元素很沒意義,違背結構和樣式分離的原則

偽元素選擇器

它是給指定標簽內(nèi)容前面添加一個子元素,或者給標簽內(nèi)容后面添加一個子元素

格式

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

div::after {
    /* 指定添加的子元素中的內(nèi)容 */
    content: "world!";
    /* 指定添加子元素的寬高 */
    width: 50px;
    height: 50px;
    /* 指定添加子元素的背景顏色 */
    background-color: pink;
    /* 指定添加子元素的顯示模式 */
    display: block;
    /* 指定添加子元素的可見方式,hidden為隱藏 */
    visibility: hidden;
}

清除浮動方式五

    /* 設置添加的子元素的內(nèi)容為空 */
    content: "";
    /* 設置添加的子元素為塊級元素 */
    display: block;
    /* 設置添加的子元素的高度為0,讓其不占用空間 */
    height: 0;
    /* 設置添加的子元素為隱藏 */
    visibility: hidden;
    /* 重要!?。?!設置添加的子元素設置clear: both */
    clear: both;
}
.box1 {
    /* 兼容IE6的騷操作 */
    *zoom: 1;
}

清除浮動方式六

overflow: hidden;

  1. 他可以將超出標簽范圍的內(nèi)容裁減掉
  2. 清除浮動
  3. 給外面的盒子設置overflow: hidden并讓里面的盒子設置margin-top之后,外面的盒子不被頂下來

注意

  • IE6依舊不兼容,需要加上*zoom:1
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,155評論 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 28,818評論 1 45
  • 學會使用CSS選擇器熟記CSS樣式和外觀屬性熟練掌握CSS各種選擇器熟練掌握CSS各種選擇器熟練掌握CSS三種顯示...
    七彩小鹿閱讀 6,445評論 2 66
  • 1. 前言 前端圈有個“?!保涸诿嬖嚂r,問個css的position屬性能刷掉一半人,其中不乏工作四五年的同學。在...
    YjWorld閱讀 4,917評論 5 15
  • 大學三年,不但要學會專業(yè)知識 待人接物也是人生必修課之一 與室友相處難免會有些小摩擦 細節(jié)上的自我管理 不但可以減...
    蘇農(nóng)不吃冰閱讀 1,065評論 0 0

友情鏈接更多精彩內(nèi)容