成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

CSS Flex 布局:用 Flex 來實現(xiàn)圣杯布局

Olivia / 1094人閱讀

摘要:布局是年提出的,目前已經(jīng)被所有瀏覽器支持,也是我現(xiàn)在布局的首選方案。實踐用來實現(xiàn)圣杯布局圣杯布局指的是一種最常見的網(wǎng)站布局。一般情況下,這種布局要求固定高度,固定寬度,自適應(yīng)。

Flex 布局是 W3C 2009年提出的,目前已經(jīng)被所有瀏覽器支持,也是我現(xiàn)在布局的首選方案。Flex 布局使用起來是非常簡單的,本文談一談平時使用可能需要注意的問題。

align-content

平時使用 justify-content 屬性比較多,用它來表示主軸的對齊方式。align-content 用來處理多個軸線的對齊方式,這說明布局產(chǎn)生換行!

flex-grow

flex-grow 屬性定義項目的放大比例,默認(rèn)為0,即如果存在剩余空間,也不放大。如果所有項目的 flex-grow 屬性都為1,則它們將等分剩余空間(如果有的話)。如果一個項目的 flex-grow 屬性為2,其他項目都為1,則前者占據(jù)的剩余空間將比其他項多一倍。

flex-shrink

flex-shrink 屬性定義了項目的縮小比例,默認(rèn)為1,即如果空間不足,該項目將縮小。如果所有項目的 flex-shrink 屬性都為1,當(dāng)空間不足時,都將等比例縮小。如果一個項目的 flex-shrink 屬性為0,其他項目都為1,則空間不足時,前者不縮小。

flex-basis

flex-basis 屬性定義了在分配多余空間之前,項目占據(jù)的主軸空間(main size)。瀏覽器根據(jù)這個屬性,計算主軸是否有多余空間。它的默認(rèn)值為 auto,即項目的本來大小。它可以設(shè)為跟 width 或 height 屬性一樣的值(比如350px),則項目將占據(jù)固定空間。

flex

平時很少直接使用 flex-grow、flex-shrink、flex-basis,一般使用的是 flex。flex屬性是 flex-grow, flex-shrink 和 flex-basis 的簡寫,默認(rèn)值為0 1 auto。后兩個屬性可選。該屬性有兩個快捷值:auto (1 1 auto) 和 none (0 0 auto)。auto 表示放大、縮小,none 表示不放大,不縮小。

建議優(yōu)先使用這個屬性,而不是多帶帶寫三個分離的屬性,因為瀏覽器會推算相關(guān)值。

查看 demo,通過放大和縮小瀏覽器大小動態(tài)改變 container 長度,當(dāng) container 長度不夠時,flex-shrink、flex-basis 產(chǎn)生作用,長度足夠 flex-grow、flex-basis 產(chǎn)生作用。

align-self

align-self 屬性允許單個項目有與其他項目不一樣的對齊方式,可覆蓋 align-items 屬性。默認(rèn)值為 auto,表示繼承父元素的 align-items 屬性,如果沒有父元素,則等同于 stretch。

實踐:用 Flex 來實現(xiàn)圣杯布局

圣杯布局指的是一種最常見的網(wǎng)站布局。頁面從上到下,分成三個部分:頭部(header),軀干(body),尾部(footer)。其中軀干又水平分成三欄,從左到右為:導(dǎo)航(nav)、主欄(main)、副欄(aside)。一般情況下,這種布局要求:

header,footer固定高度,nav,aside固定寬度,body,main自適應(yīng)。

main 優(yōu)先加載

用 Flex 來實現(xiàn)圣杯布局,F(xiàn)lex實現(xiàn)圣杯布局效果

DOM 結(jié)構(gòu)



  Flex 實現(xiàn)圣杯布局



  
header
main
footer
CSS
html,
body {
  display: flex;
  flex-direction: column;
  min-height: 600px;
  height: 100%;
  font-size: 28px;
  font-weight: bolder;
}

header,
footer {
  height: 150px;
  background-color: #666;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: none;
}

.content {
  flex: 1; /* 高度自適應(yīng) */
  display: flex;
}

nav,
aside {
  background-color: #eb6f43;
  flex: 0 1 200px;
  display: flex;
  justify-content: center;
  align-items: center;
}

main {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1; /* 寬度自適應(yīng) */
  background-color: #d6d6d6;
}

nav {
  order: -1; /* 調(diào)整順序在main前面 */
}
參考

CSS Flex

Flex 布局教程:語法篇

Flex 布局教程:實例篇

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/93284.html

相關(guān)文章

  • CSS實例詳解:Flex布局

    摘要:本文由云社區(qū)發(fā)表本文將通過三個簡單的實例,實際應(yīng)用上篇文章的基礎(chǔ)理論知識,展示下布局是如何解決布局問題。通過對比其他的實現(xiàn)方式,可以看出使用布局可以優(yōu)雅地實現(xiàn)相同的布局問題。 本文由云+社區(qū)發(fā)表 本文將通過三個簡單的實例,實際應(yīng)用上篇文章的基礎(chǔ)理論知識,展示下Flex布局是如何解決CSS布局問題。 一.垂直居中 這里同時用非flex布局和flex布局兩種方式來實現(xiàn),可以對比兩種實現(xiàn)方式...

    RobinQu 評論0 收藏0
  • CSS實例詳解:Flex布局

    摘要:本文由云社區(qū)發(fā)表本文將通過三個簡單的實例,實際應(yīng)用上篇文章的基礎(chǔ)理論知識,展示下布局是如何解決布局問題。通過對比其他的實現(xiàn)方式,可以看出使用布局可以優(yōu)雅地實現(xiàn)相同的布局問題。 本文由云+社區(qū)發(fā)表 本文將通過三個簡單的實例,實際應(yīng)用上篇文章的基礎(chǔ)理論知識,展示下Flex布局是如何解決CSS布局問題。 一.垂直居中 這里同時用非flex布局和flex布局兩種方式來實現(xiàn),可...

    Meathill 評論0 收藏0
  • CSS實例詳解:Flex布局

    摘要:本文由云社區(qū)發(fā)表本文將通過三個簡單的實例,實際應(yīng)用上篇文章的基礎(chǔ)理論知識,展示下布局是如何解決布局問題。通過對比其他的實現(xiàn)方式,可以看出使用布局可以優(yōu)雅地實現(xiàn)相同的布局問題。 本文由云+社區(qū)發(fā)表 本文將通過三個簡單的實例,實際應(yīng)用上篇文章的基礎(chǔ)理論知識,展示下Flex布局是如何解決CSS布局問題。 一.垂直居中 這里同時用非flex布局和flex布局兩種方式來實現(xiàn),可以對比兩種實現(xiàn)方式...

    Magicer 評論0 收藏0
  • CSS布局--圣杯布局和雙飛翼布局以及使Flex實現(xiàn)圣杯布局

    摘要:圣杯布局雙飛翼布局所謂圣杯布局和雙飛翼布局其實解決的問題是相同的,都是解決左右兩欄固定寬度,中間部分自適應(yīng),其中某部分內(nèi)容比其他內(nèi)容高的時候,保證三者元素等高。雙飛翼用在外層多加了一個然后改用。 前言 我曾一度覺得總寫css的前端很low,有了這種思想以后我便遠(yuǎn)離網(wǎng)頁布局,H5的工作更不想接,沉迷于頁面邏輯和封裝組件。直到最近我面試,面試官說我css3理解的不熟,我起初很不屑,但后來靜...

    zqhxuyuan 評論0 收藏0
  • CSS布局十八般武藝都在這里了

    摘要:清單一些說明注意文檔的書寫順序,先寫兩側(cè)欄,再寫主面板,更換后則側(cè)欄會被擠到下一列圣杯布局和雙飛翼布局都會用到。可以通過設(shè)置的屬性或使用雙飛翼布局避免問題。雙飛翼布局不用設(shè)置相對布局,以及對應(yīng)的和值。 本文首發(fā)于知乎專欄:前端指南 CSS布局 布局是CSS中一個重要部分,本文總結(jié)了CSS布局中的常用技巧,包括常用的水平居中、垂直居中方法,以及單列布局、多列布局的多種實現(xiàn)方式(包括傳統(tǒng)的...

    includecmath 評論0 收藏0

發(fā)表評論

0條評論

Olivia

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<