Stick footers布局總結

2022-09-06 04:36:11 字數 2420 閱讀 6339

一、sticky footers解釋

在網頁設計中,sticky footers設計是最古老和最常見的效果之一,大多數人都曾經經歷過。它可以概括如下:如果頁面內容不夠長的時候,頁尾塊貼上在視窗底部;如果內容足夠長時,頁尾塊會被內容向下推送。(效果如下圖)

二、實現

2.1 容器使用負的margin bottom

首先是個包裹除了footer之外其他元素的容器,然後容器內有個佔位元素,以及使用負的margin bottom,他們的絕對值相等。  

<

body

>

<

div

class

>

content

<

div

class

="push"

>

div>

div>

<

footer

class

="footer"

>

footer

>

body

>

html, body .footer, .push
2.2 底部使用負的margin bottom既然想到在容器上使用負的margin bottom,同理可得負的margin top版本

<

body

>

<

div

class

="content"

>

<

div

class

="content-inside"

>

content

div>

div>

<

footer

class

="footer"

>

footer

>

body

html, body .content .content-inside .footer
2.3 calc版本結合vh單位,calc 版本就粗暴很多。

<

body

>

<

div

class

="content"

>

content

div>

<

footer

class

="footer"

>

footer

>

body

>

.content .footer
calc中的 70px,和50px是假定了content中最後乙個元素有個20px的margin bottom,你不必在意這些~

2.4 flexbox版本

flexbox版本同樣很簡單,並且相比前面三種方式,它不需要知道footer的高度,避免了magic number的尷尬。

<

body

>

<

div

class

="content"

>

content

div>

<

footer

class

="footer"

>

footer

>

body

>

html body .content
原理是flex: 1使得content的高度可以自由伸縮。

grid比flexbox還要新很多,使用grid同樣很簡潔,遺憾的是現在chrome canary 或者 firefox developer edition才能看到效果。

<

body

>

<

div

class

="content"

>

content

div>

<

footer

class

="footer"

>

footer

>

body

>

html body .footer
文章**:

React Native flex 布局使用總結

父檢視屬性 容器屬性 flexdirection 對子布局方向的設定 row 從左到右依次排列 row reverse 從右向左依次排列 column default 從上到下排列 column reverse 從下到上排列 複製 flexwrap 定義子布局是否在父布局中多行排列 wrap 允許多...

DIV CSS網頁布局相容性的要點與訣竅總結

div css網頁布局相容性的要點與訣竅總結.ie vs ff css 相容要點 doctype 影響 css 處理 ff div 設定 margin left,margin right 為 auto 時已經居中,ie 不行 ff body 設定 text align 時,div 需要設定 marg...

DIV CSS網頁布局相容性的要點與訣竅總

ie vs ff css 相容要點 doctype 影響 css 處理 ff div 設定 margin left,margin right 為 auto 時已經居中,ie 不行 ff body 設定 text align 時,div 需要設定 margin auto 主要是 margin left...