• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    談談BFC

    2018-5-14    高勁

    一、什么是BFC
           BFC(block formatting context)簡單來說,BFC 就是一種屬性,這種屬性會影響著元素的定位以及與其兄弟元素之間的相互作用。
        中文常譯為塊級格式化上下文。是 W3C CSS 2.1 規范中的一個概念, 從樣式上看,具有 BFC 的元素與普通的容器沒有什么區別,但是從功能上,具有 BFC 的元素可以看作是隔離了的獨立容器,容器里面的元素不會在布局上影響到外面的元素,并且 BFC 具有普通容器沒有的一些特性,它決定了元素如何對其內容進行定位,以及與其他元素的關系和相互作用。

    如何觸發 BFC

          上面介紹了 BFC 的定義,那么如何觸發 BFC 呢?
        滿足下面任一條件的元素,會觸發為 BFC :
        1、浮動元素,float 除 none 以外的值
        2、絕對定位元素,position(absolute,fixed)
        3、display 為以下其中之一的值 inline-blocks,table-cells,table-captions
        4、overflow 除了 visible 以外的值(hidden,auto,scroll)

    BFC布局與普通文檔流布局區別      
        普通文檔流布局規則
        1.浮動的元素是不會被父級計算高度
        2.非浮動元素會覆蓋浮動元素的位置
        3.margin會傳遞給父級
        4.兩個相鄰元素上下margin會重疊

        BFC布局規則
        1.浮動的元素會被父級計算高度(父級觸發了BFC)
        2.非浮動元素不會覆蓋浮動元素位置(非浮動元素觸發了BFC)
        3.margin不會傳遞給父級(父級觸發了BFC)

        4.兩個相鄰元素上下margin會重疊(給其中一個元素增加一個父級,然后讓他的父級觸發BFC)

       下面來說一下BFC的實際使用場景
       場景1:解決子盒子都浮動時 父盒子高度不參與計算問題
        <style>
          .far {
             border: 10px solid pink;
             width: 300px;
         }
          .child {
             border: 10px solid yellowgreen;
             width:100px;
             height: 100px;
             float: left;
        }
         .far{
             overflow: hidden;
        }
        </style>
        <body>
            <div class="far">
                 <div class="child"></div>
                 <div class="child"></div>
            </div>
        </body>

        根據overflow 除了 visible 以外的值(hidden,auto,scroll)就會觸發BFC的原則 計算BFC高度時 ,floatbox也參與其中。


        場景2:box垂直方向的距離 會由margin來決定 相鄰兩個盒子之間margin會重疊 ,這就是margin上下間值合并的原因

        <style>
        p {
            color: pink;
            background: #fcc;
            width: 200px;
            height:100px;
            text-align:center;
            margin: 100px;
        }
        </style>
        <body>
           <p></p>
           <p></p>
        </body>

        要解決這個問題我們可以在p外面包裹一層容器,并觸發該容器生成一個BFC。那么兩個P便不屬于同一個BFC,就不會發生margin重疊了,解決代碼如下。
        <style>
           .box {
              overflow: hidden;
           }
           p {
              background: green;
              width: 200px;
              height: 200px;
              margin: 100px;
          }
        </style>
        <body>
           <p></p>
           <div class="box">
               <p></p>
           </div>

        </body>

        場景3:實現左側固定右側自適應等類似布局
        <style>
            .out{
                border: 1px solid red;
                height: 200px;
            }
            .left{
                width: 200px;
                height: 150px;
                background-color: green;
                float: left;
            }
            .right{
                background-color: pink;
                height: 250px;
                overflow: hidden;
            }
          </style>
          <body>
         <div class="out">
            <div class="left"></div>
            <div class="right"></div>
          </div>

    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://m.lzhte.cn

    存檔

    主站蜘蛛池模板: 亚洲中文字幕麻豆一区| 亚洲欧美日韩在线网| 国产精品你懂的在线播放调教| 911精品人妻一区二区三区A片| 成人av大片在线浏览| 日韩女优一区二区视频| 欧美日韩人成综合在线播放| 日韩国产欧美| 超碰人人人| 国精品无码一区二区三区在线蜜臀| 人人肏屄| 中文 在线 日韩 亚洲 欧美 | 99热这里只有精品久久6| 国产成人精品亚洲一区二区麻豆 | 国产一卡2卡三卡4卡免费网站| 欧美中文字幕在线播放| 无码专区3d动漫精品免费| 精品久久久久88久久久| 革吉县| 国产精品成人免费999| 国产粉嫩粉嫩的18在线播放91| 精品国产成人三级在线观看| 国产h视频在线观看视频| 亚洲精品视频一二三区| 亚洲精品尤物av在线网站| 亚州在线播放免费视频| 沾化县| 在线观看国产精品第一区免费| 婷婷99精品国产97久久综合| 天堂av在线成人免费| 亚洲综合成人婷婷五月网址| 人妻无码久久中文字幕专区| 国产免费久久精品44| 强开小婷嫩苞又嫩又紧视频韩国| 欧美日韩区1区2区3区| 国产精品偷伦费观看一次| 国产精品推荐天天看天天爽| 国产大片黄在线观看| 亚洲色最新高清AV网站| 兰坪| 国产麻豆精品手机在线观看|