怎么固定底部內(nèi)容? – css筆記

    這種布局方式在后臺管理系統(tǒng)中比較常見,當我們內(nèi)容不足瀏覽器窗口高度時,底部內(nèi)容需要固定在底部。當內(nèi)容超出了瀏覽器窗口高度,就會隨著內(nèi)容往后推

    這種是一個非常常見的布局方式,但是對于新手來說是比較常見的難題。

    這種布局方式在后臺管理系統(tǒng)中比較常見,當我們內(nèi)容不足瀏覽器窗口高度時,底部內(nèi)容需要固定在底部。當內(nèi)容超出了瀏覽器窗口高度,就會隨著內(nèi)容往后推。

    在有CSS3之前,實現(xiàn)這個效果是頗有難度的。瀏覽器窗口高度是會根據(jù)不同用戶打開瀏覽器的情況,屏幕大小的差異和瀏覽器的縮放比例而變。我們需要借助JavaScript來實時獲取瀏覽器高度進行運算才能實現(xiàn)。雖然說標題是說“固定”底部,但是我們想要的效果不是position: fixed。使用固定定位,在內(nèi)容高于窗口高度時,就會擋住我們的內(nèi)容。

    隨著CSS3的來臨,最完美的實現(xiàn)方式是使用Flexbox。實現(xiàn)的關鍵就是使用不太被關注的flex-grow屬性,可以在我們的內(nèi)容標簽元素(比如div)中使用。在我們下面的例子里使用了main標簽。


    我來講解一下實現(xiàn)原理吧。

    怎么固定底部內(nèi)容? - css筆記

    flew-grow是用來控制一個flex元素相對它同等級flex元素的自身可擴充的空間。如果我們使用flex-grow: 0,那這個flex元素就完全不會擴展了。所以我們需要把頭部和底部之間的內(nèi)容標簽元素設置為flex-grow: 1或者flex-grow: auto,這樣內(nèi)容部分就會自動填充滿頭部和底部之外的所有空間。

    為了避免底部內(nèi)容受內(nèi)容部分擴充空間的影響,我們給footer底部元素flex-shrink: 0屬性。flex-shrink的作用與flex-grow是恰恰相反,用來控制flex元素收縮的空間,這里我們給了flex-shrink: 0就是為了底部footer的大小不受影響。

    我們直接上HTML和CSS代碼看看是怎么實現(xiàn)的。

    • HTML
    <div id="document">
     <nav>
      <h1>頭部內(nèi)容</h1>
     </nav>
     <main>
      <p>可以添加更多內(nèi)容看看底部的變化哦!</p>
     </main>
     <footer>
      <h1>底部內(nèi)容</h1>
     </footer>
    </div>
    
    • CSS
    #document {
        height: 100vh;
        display: flex;
        flex-direction: column;
        background: #202020;
        font-family: microsoft yahei,wenquanyi micro hei,sans-serif !important;
    }
    
    nav, footer {
        background: #494949;
        display: flex;
        justify-content: center;
    }
    
    main {
        color: #bdbdbd;
        flex: auto;
    }
    
    footer {
        flex-shrink: 0;
    }
    
    * {
        margin: 0;
    }
    
    h1,
    p {
        padding: 15px;
    }
    
    nav > h1 {
        color: #82FCFD;
        text-shadow: 1px 1px 4px #00000080;
    }
    
    footer > h1 {
        color: #82FCFD;
        text-shadow: 1px 1px 4px #00000080;
    }
    

    知識點總結:

    • flex-grow?— 是用來控制一個flex元素相對它同等級flex元素的自身可擴充的空間
    • flex-shrink?— 作用與flex-grow是恰恰相反,用來控制flex元素收縮的空間

    下載權限
    查看
    • 免費下載
      評論并刷新后下載
      登錄后下載
    • {{attr.name}}:
    您當前的等級為
    登錄后免費下載登錄 小黑屋反思中,不準下載! 評論后刷新頁面下載評論 支付以后下載 請先登錄 您今天的下載次數(shù)(次)用完了,請明天再來 支付積分以后下載立即支付 支付以后下載立即支付 您當前的用戶組不允許下載升級會員
    您已獲得下載權限 您可以每天下載資源次,今日剩余

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來源于互聯(lián)網(wǎng),僅供網(wǎng)友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發(fā)送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    ?
    購物車
    優(yōu)惠劵
    搜索
    主站蜘蛛池模板: 国产在线观看一区二区三区四区| 鲁丝丝国产一区二区| 亚洲av日韩综合一区二区三区 | 一区二区三区免费视频网站| 中文字幕一区日韩在线视频 | 一区二区在线免费视频| 在线观看午夜亚洲一区| 精品3d动漫视频一区在线观看| 亚洲一区二区三区偷拍女厕| 日本精品啪啪一区二区三区| 亚洲一区在线免费观看| 亲子乱av一区二区三区| 欧洲精品免费一区二区三区| 最新欧美精品一区二区三区| tom影院亚洲国产一区二区| 国产免费无码一区二区| 上原亚衣一区二区在线观看| 日本一区二区三区精品国产 | 日韩在线一区高清在线| 精品国产一区二区三区AV| 日本片免费观看一区二区| 在线成人一区二区| 午夜在线视频一区二区三区| 人妻av综合天堂一区| 日韩一区二区精品观看| 国产激情一区二区三区成人91| 精品国产AV无码一区二区三区| 日韩精品电影一区亚洲| 国产一区三区二区中文在线| 成人无码一区二区三区| 国产激情无码一区二区| 日本一道高清一区二区三区| 91成人爽a毛片一区二区| 国产在线步兵一区二区三区| 亚洲乱码日产一区三区| 国产91大片精品一区在线观看| 亚洲国产一区视频| 日日摸夜夜添一区| 天堂不卡一区二区视频在线观看 | 国产精品一区二区久久精品| 日韩精品人妻一区二区三区四区 |