pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

淺談css sticker-footer 布局

本篇文章主要介紹了css sticker-footer 布局,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在網頁設計中,Sticky footers設計是最古老和最常見的效果之一,大多數人都曾經經歷過。它可以概括如下:如果頁面內容不夠長的時候,頁腳塊粘貼在視窗底部;如果內容足夠長時,頁腳塊會被內容向下推送。這種效果不僅是無處不在,很受歡迎,而且實現起來看上去也非常容易。但實際上實現起來要比預期花的時間更多。此外,在CSS2.1中的解決方案中幾乎都要給頁腳設置一個固定高度。這是很脆弱的,很少是可行的。實際上實現這個效果過于復雜,而且還需要增加特定的標記和一些Hack手段。在CSS2.1中受到一些限制,但使用現代CSS,我們能把這個效果做得更好,那要如何做呢?

1、嵌套層級不深,可直接繼承自 body width:100%; height:100%;

// html
<body>
    <div id="sticker">
        <div class="sticker-con">我是內容</div>
    </div>
    <div class="footer">我是腳</div>
</body>
// css
html,body{
    width:100%;
    height:100%;
}
#sticker{
    width:100%;
    min-height:100%;
}
.sticker-con{
    padding-bottom:40px;    // 40px 為 footer 本身高度
}
.footer{
    margin-top:-40px;  // 40px 為 footer 本身高度
}

2、嵌套層級很深,無法直接從上級繼承 百分比高度的

第一種方法:給需要的 sticker-footer 創建一個 wrapper

   <body>
        <div id="wrapper">
            <div id="sticker">
                <div class="sticker-con">我是內容</div>
            </div>
            <div class="footer">我是腳</div>
        </div>
    </body>
    .wrapper{
        position:fixed;  // 這樣 wrapper 就可以直接從 html,body 繼承 百分比高度了
        overflow:auto;   // 當高度超過 100% ;時產生滾動條
        width:100%;
        height:100%;     // 繼承自 body
    }
    // wrapper 內部包裹的結構,就如上所示了,css樣式也一樣

3. 當無法用百分比獲取高度時,也可通過js方式獲得

    //css樣式同第一種, 只是 sticker 的 min-height 用css獲取

    <body>
        <div id="sticker">
            <div class="sticker-con">我是內容</div>
        </div>
        <div class="footer">我是腳</div>
    </body>


    var sticker = document.querySelector('#sticker');
    var h = document.body.clientHeight;
    sticker.style.minHeight = h - 44 + 'px';

    //這種方式也可應對一些特殊情況,比如有頭部導航欄的情況,可以靈活的處理 min-height:

4. 強大的 flex 布局 flex-direction:column

將wrapper容器 display:flex; flex-direction:column

sticker: flex:1; 占據除footer以外的剩余空間

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
    <title>sticker footer</title>
</head>
<style>
    html,body{
        width: 100%;
        height: 100%;
        background-color: #ccc;
        margin:0;
        padding: 0;
        
    }
    header{
        height:44px;
        width: 100%;
        text-align: center;
        line-height: 44px;
    }
    #wrapper{
        display: flex;
        flex-direction: column;
        width: 100%;
        /*height: 100%;*/
    }
    #sticker{
        background-color: red;
        flex: 1;
    }
    #sticker .sticker-con{
        padding-bottom: 40px;
    }
    .footer{
        background-color: green;
        height: 40px;
    }
</style>    
<body>

    <header>我是頭部</header>
    <div id="wrapper">
        <div id="sticker">
            <div class="sticker-con">我是內容</div>
        </div>
        <div class="footer">我是腳</div>
    </div>
    
</body>
<script>
    var wrapper = document.querySelector('#wrapper');
    var h = document.body.clientHeight;
    wrapper.style.minHeight = h - 44 + 'px';   // 減去頭部導航欄高度

</script>
</html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了CSS經典三欄布局方案(6種方法)的相關資料,詳細的介紹了6種三欄布局的方法,具有一定的參考價值,有興趣的可以了解一下
這篇文章主要介紹了用CSS3實現瀑布流布局的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了css布局之BFC模式(block formatting context),通過BFC盒子的一些特性和應用場景解釋了BFC模式,具體操作步驟大家可查看下文的詳細講解,感興趣的小伙伴們可以參考一
這篇文章主要介紹了淺談css雙飛翼布局和圣杯布局,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹介紹了CSS雙飛翼布局的兩種方式實現示例,這里整理了詳細的代碼,非常具有實用價值,需要的朋友可以參考下
這篇文章主要介紹了 CSS3的calc()做響應模式布局的實現方法,需要的朋友可以參考下
主站蜘蛛池模板: 复合土工膜厂家|hdpe防渗土工膜|复合防渗土工布|玻璃纤维|双向塑料土工格栅-安徽路建新材料有限公司 | 一技任务网_有一技之长,就来技术任务网| 高压负荷开关-苏州雷尔沃电器有限公司 | 自动钻孔机-全自动数控钻孔机生产厂家-多米(广东)智能装备有限公司 | 采暖炉_取暖炉_生物质颗粒锅炉_颗粒壁炉_厂家加盟批发_烟台蓝澳采暖设备有限公司 | 山东钢格板|栅格板生产厂家供应商-日照森亿钢格板有限公司 | 冰晶石|碱性嫩黄闪蒸干燥机-有机垃圾烘干设备-草酸钙盘式干燥机-常州市宝康干燥 | 恒温恒湿试验箱厂家-高低温试验箱维修价格_东莞环仪仪器_东莞环仪仪器 | 丹佛斯压力传感器,WISE温度传感器,WISE压力开关,丹佛斯温度开关-上海力笙工业设备有限公司 | MES系统工业智能终端_生产管理看板/安灯/ESOP/静电监控_讯鹏科技 | 威廉希尔WilliamHill·足球(中国)体育官方网站 | 北京发电机出租_发电机租赁_北京发电机维修 - 河北腾伦发电机出租 | 热处理炉-退火炉-回火炉设备厂家-丹阳市电炉厂有限公司 | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 北京燃气公司 用户服务中心 | 煤棒机_增碳剂颗粒机_活性炭颗粒机_木炭粉成型机-巩义市老城振华机械厂 | CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 天津仓库出租网-天津电商仓库-天津云仓一件代发-【博程云仓】 | 团建-拓展-拓展培训-拓展训练-户外拓展训练基地[无锡劲途] | 成都网站建设制作_高端网站设计公司「做网站送优化推广」 | 丁基胶边来料加工,医用活塞边角料加工,异戊二烯橡胶边来料加工-河北盛唐橡胶制品有限公司 | 金联宇电缆总代理-金联宇集团-广东金联宇电缆实业有限公司 | 免联考国际MBA_在职MBA报考条件/科目/排名-MBA信息网 | 工业冷却塔维修厂家_方形不锈钢工业凉水塔维修改造方案-广东康明节能空调有限公司 | 许昌奥仕达自动化设备有限公司| 桨叶搅拌机_螺旋挤压/方盒旋切造粒机厂家-无锡市鸿诚输送机械有限公司 | 地脚螺栓_材质_标准-永年县德联地脚螺栓厂家 | 赛尔特智能移动阳光房-阳光房厂家-赛尔特建筑科技(广东)有限公司 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 专业甜品培训学校_广东糖水培训_奶茶培训_特色小吃培训_广州烘趣甜品培训机构 | 通风气楼_通风天窗_屋顶风机-山东美创通风设备有限公司 | PU树脂_水性聚氨酯树脂_聚氨酯固化剂_聚氨酯树脂厂家_宝景化工 | 伟秀电气有限公司-10kv高低压开关柜-高低压配电柜-中置柜-充气柜-欧式箱变-高压真空断路器厂家 | 筛分机|振动筛分机|气流筛分机|筛分机厂家-新乡市大汉振动机械有限公司 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 气动|电动调节阀|球阀|蝶阀-自力式调节阀-上海渠工阀门管道工程有限公司 | 下水道疏通_管道疏通_马桶疏通_附近疏通电话- 立刻通 | 芝麻黑-芝麻黑石材厂家-永峰石业 | 济南菜鸟驿站广告|青岛快递车车体|社区媒体-抖音|墙体广告-山东揽胜广告传媒有限公司 | 预制围墙_工程预制围墙_天津市瑞通建筑材料有限公司 |