123
摘要:第二種方式首先提一個概念相對于視窗的高度視窗高度是。這種需求剛好符合。提供一種增加包裹層實現(xiàn)方式。
無論是pc還是移動端,有一種布局叫做Sticky footers,何為Sticky footers?百度翻譯:“粘粘的頁腳”[笑哭],
不過意思也算對吧,就是如果頁面內(nèi)容不夠長的時候,頁腳粘貼在視窗底部;如果內(nèi)容足夠長時,頁腳塊會附在內(nèi)容區(qū)塊下面。那么如何來實現(xiàn)這種效果呢,今天來用兩種方式聊一聊。
第一種方式1.利用包裹層,用高度100%來實現(xiàn)
2.利用flex + 高度100vh來實現(xiàn)
設(shè)置body的高度為100%,然后設(shè)置設(shè)置內(nèi)容容器的最小高度為100%,然后設(shè)置負的margin-bottom,負值為頁腳高度,然后利用偽類,利用容器的after占位。
html,body { height: 100%; } .page-wrap{ min-height: 100%; margin-bottom: -142px; } .page-wrap:after { content: ""; display: block; } footer,.page-wrap:after { height: 142px; } ----------------------------------第二種方式
首先提一個概念:vh :相對于視窗的高度:視窗高度是100vh。
將body設(shè)置為 display:flex; 這時你會發(fā)現(xiàn)頁面的布局變成了橫向布局,因為flex布局默認主軸方向為 row ,即橫向。然后利用 flex-flow: column; 將主軸方向設(shè)置為垂直方向。關(guān)于flex的語法,推薦阮一峰老師的blogFlex 布局教程:語法篇,
然后設(shè)置內(nèi)容容器flex: 1。
這里稍微介紹一下flex: 1
flex: 1 等同于 flex: 1 1 0%,即等價于flex-grow: 1; flex-shrink: 1;flex-basis: 0%;前兩個根據(jù)阮老師的教程很好理解,那么第三個flex-basis: 0%是什么意思呢?
flex-basis有三種取值情況:
1.auto: 先檢索該元素的尺寸,如果不為auto,則取固定值;如果也是auto,則取值content
2.content: 指該元素的內(nèi)容自動布局。
3.百分比: 根據(jù)其父容器的尺寸計算。如果父容器的尺寸未定義,則取值和設(shè)為auto相同。
所以,設(shè)置為 flex: 1 之后,內(nèi)容容器內(nèi)容高度小于父容器時,則取父容器高度,如果大于父容器高度時則取內(nèi)容高度。
理解了上面這些之后,下面是實現(xiàn)的一個簡單例子。
body{ display: flex; flex-flow: column; min-height: 100vh; } main { flex: 1; } -----------移動端實現(xiàn)
在開發(fā)移動端時,可能會有點擊某個按鈕,顯示全屏遮罩層,如果內(nèi)容過多,則出現(xiàn)滾動條,關(guān)閉按鈕在最下面。這種需求剛好符合Stciky footers。遮罩層,我們一般常使用fix布局。提供一種增加包裹層實現(xiàn)方式。
遮罩層position:fixed,然后包裹層最小高度設(shè)為min-height: 100%,內(nèi)容容器設(shè)置padding-bottom: 30px頁腳提供位置。頁腳采用margin-top: -30px來定位,同時注意清除浮動的使用。
.parent { position: fixed; z-index: 100; top: 0; left: 0; width: 100%; height: 100%; overflow: auto; } .main-wrapper { width: 100%; min-height: 100%; } .main { padding-bottom: 30px; } .footer { height: 30px; width: 100%; position: relative; margin-top: -30px; clear: both; } .clearfix:before, .clearfix:after { content: ""; display: table; } .clearfix:after { clear: both; } -------------------123
有更多實現(xiàn)技巧或建議,歡迎留言交流~
博客原文:(http://fehey.com/2016/11/20/s...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/111731.html
摘要:設(shè)計是最古老和最常見的效果之一,它可以概括如下如果頁面內(nèi)容不夠長的時候,頁腳塊粘貼在視窗底部如果內(nèi)容足夠長時,頁腳塊會被內(nèi)容向下推送。所有內(nèi)容區(qū)好,方法一也比較推薦,以上就是個人對的理解 Sticky footers設(shè)計是最古老和最常見的效果之一,它可以概括如下: 1 如果頁面內(nèi)容不夠長的時候,頁腳塊粘貼在視窗底部; 2 如果內(nèi)容足夠長時,頁腳塊會被內(nèi)容向下推送。 出現(xiàn)問題如圖:sho...
摘要:使用布局達到了預(yù)期的效果,及時內(nèi)容區(qū)較少,頁腳區(qū)塊也是固定在底部。二布局方式代碼這種方法就是利用布局對視窗高度進行分割。 什么是Sticky footer布局?前端開發(fā)中大部分網(wǎng)站,都會把一個頁面分為頭部區(qū)塊、內(nèi)容區(qū)塊、頁腳區(qū)塊,這也是比較。往往底部都要求能固定在屏幕的底部,而非隨著文檔流排布。要實現(xiàn)的樣式可以概括如下:如果頁面內(nèi)容不夠長的時候,頁腳區(qū)塊在屏幕的底部;如果內(nèi)容足夠長的時...
摘要:寫在最前是的一種布局場景。頁腳永遠固定在頁面的底部,頁面內(nèi)容不夠長的時候頁腳黏在視窗底部,內(nèi)容足夠長時會被向下移動。老式門戶網(wǎng)站由于內(nèi)容過短常常版權(quán)頁腳前移,移動端特定布局也需要來解決這些問題。 showImg(https://segmentfault.com/img/bVbrIV9?w=200&h=354); 寫在最前:Sticky Footer是css的一種布局場景。頁腳foot...
摘要:寫在最前是的一種布局場景。頁腳永遠固定在頁面的底部,頁面內(nèi)容不夠長的時候頁腳黏在視窗底部,內(nèi)容足夠長時會被向下移動。老式門戶網(wǎng)站由于內(nèi)容過短常常版權(quán)頁腳前移,移動端特定布局也需要來解決這些問題。 showImg(https://segmentfault.com/img/bVbrIV9?w=200&h=354); 寫在最前:Sticky Footer是css的一種布局場景。頁腳foot...
閱讀 2908·2021-11-22 13:54
閱讀 3544·2021-11-16 11:44
閱讀 1381·2021-09-07 10:19
閱讀 1483·2019-08-29 17:30
閱讀 3207·2019-08-29 11:33
閱讀 3555·2019-08-26 12:18
閱讀 2894·2019-08-26 11:53
閱讀 1347·2019-08-26 10:47