整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          CSS:Flex布局,網(wǎng)頁(yè)排版神器!

          在為網(wǎng)頁(yè)排版抓狂?別擔(dān)心,CSS的 flex 布局來(lái)了,讓你輕松玩轉(zhuǎn)各種頁(yè)面布局,實(shí)現(xiàn)網(wǎng)頁(yè)設(shè)計(jì)自由!

          什么是Flex 布局?

          Flex 布局,也稱為彈性布局,是 CSS 中的一種強(qiáng)大布局方式,它能夠讓你的網(wǎng)頁(yè)元素像彈簧一樣,靈活地適應(yīng)各種屏幕尺寸和設(shè)備方向。

          想象一下:

          • 你需要將幾個(gè)盒子水平排列,并且它們能夠自動(dòng)調(diào)整大小以適應(yīng)不同的屏幕寬度?
          • 你需要將一個(gè)盒子垂直居中,并且無(wú)論其內(nèi)容如何變化,都能保持居中

          這些看似復(fù)雜的需求,使用Flex布局就能輕松解決!

          Flex 布局魔法口訣:容器和項(xiàng)目

          • 容器 (Flex Container): 需要使用Flex布局的父元素。
             .container {
                 display: flex; /* 將 .container 元素設(shè)置為 Flex 容器 */
             }
          
          • 項(xiàng)目 (Flex Item): Flex容器中的子元素。
             <div class="container">
                 <div class="item">項(xiàng)目 1</div>
                 <div class="item">項(xiàng)目 2</div>
                 <div class="item">項(xiàng)目 3</div>
             </div>
          

          Flex 布局魔法棒:屬性詳解

          1. 方向控制:想橫著排還是豎著排?

          • flex-direction: row; 水平排列,默認(rèn)值。
          • flex-direction: column; 垂直排列。

          2. 主軸對(duì)齊:讓項(xiàng)目乖乖聽(tīng)話!

          • justify-content: flex-start; 項(xiàng)目在主軸起點(diǎn)對(duì)齊。
          • justify-content: flex-end; 項(xiàng)目在主軸終點(diǎn)對(duì)齊。
          • justify-content: center; 項(xiàng)目在主軸居中對(duì)齊。
          • justify-content: space-between; 項(xiàng)目?jī)啥藢?duì)齊,項(xiàng)目之間間隔相等。
          • justify-content: space-around; 項(xiàng)目周圍間隔相等。

          3. 交叉軸對(duì)齊:垂直方向也要美美噠!

          • align-items: flex-start; 項(xiàng)目在交叉軸起點(diǎn)對(duì)齊。
          • align-items: flex-end; 項(xiàng)目在交叉軸終點(diǎn)對(duì)齊。
          • align-items: center; 項(xiàng)目在交叉軸居中對(duì)齊。
          • align-items: stretch; 項(xiàng)目在交叉軸方向拉伸。

          4. 項(xiàng)目排序:想放哪里就放哪里!

          • order: 1; 設(shè)置項(xiàng)目的排列順序,數(shù)值越小,排列越靠前。

          實(shí)戰(zhàn)演練:三欄式布局

          <div class="container">
            <div class="sidebar">側(cè)邊欄</div>
            <div class="content">主要內(nèi)容</div>
            <div class="aside">側(cè)邊欄</div>
          </div>
          
          .container {
            display: flex;
          }
          
          .sidebar {
            width: 200px;
          }
          
          .content {
            flex: 1; /* 自動(dòng)填充剩余空間 */
          }
          
          .aside {
            width: 200px;
          }
          

          總結(jié)

          Flex 布局是網(wǎng)頁(yè)排版的神器,掌握它,你就能輕松應(yīng)對(duì)各種布局需求,讓你的網(wǎng)頁(yè)設(shè)計(jì)更加靈活、美觀!

          家好,我是Echa。

          最近又有老鐵私信我,前面一段時(shí)間分享了幾十款Vue、React、微信小程序開(kāi)源商城項(xiàng)目以及后臺(tái)管理開(kāi)源項(xiàng)目等等,有沒(méi)有CSS相關(guān)開(kāi)源框架?羊了還沒(méi)有完全康復(fù),伴著咳嗽中上Github上搜索,功夫不負(fù)有心人,找到了一些。今天來(lái)分享 GitHub 上一些熱門的 CSS 框架!

          創(chuàng)作不易,喜歡的老鐵們加個(gè)關(guān)注,點(diǎn)個(gè)贊,后面會(huì)持續(xù)更新干貨,速速收藏,謝謝!

          全文大綱

          1. Bootstrap - 是 Twitter 推出的基于HTML、CSS、JavaScript 開(kāi)發(fā)的簡(jiǎn)潔、直觀、強(qiáng)悍的CSS開(kāi)發(fā)框架
          2. Foundation - 是一個(gè)用于開(kāi)發(fā)響應(yīng)式的 HTML, CSS 和 JavaScript 框架。
          3. Bulma - 是一個(gè)免費(fèi)的開(kāi)源CSS框架,它提供了現(xiàn)成的前端組件,可以輕松地組合這些組件來(lái)構(gòu)建響應(yīng)式 Web 界面。Bulma 框架最大的特點(diǎn)就是簡(jiǎn)單好用
          4. Tailwind - 是一個(gè)功能類優(yōu)先的 CSS 框架,它集成了諸如 flex, pt-4, text-center 和 rotate-90 這樣的類,它們能直接在HTML中組合起來(lái),構(gòu)建出任何設(shè)計(jì)。
          5. UIkit - 是 YOOtheme 團(tuán)隊(duì)開(kāi)發(fā)的一款輕量級(jí)、模塊化的前端框架,可快速構(gòu)建強(qiáng)大的前端界面。
          6. Milligram - 提供了最小的樣式設(shè)置,以快速和干凈為起點(diǎn)。壓縮后只有 2kb!
          7. Pure - 是美國(guó)雅虎公司出品的一組輕量級(jí)、響應(yīng)式純CSS模塊,適用于任何Web項(xiàng)目。
          8. Tachyons - 指在將CSS規(guī)則分解為小型的、可管理的、以及可復(fù)用的部件
          9. Materialize - 是一個(gè)使用CSS,JavaScript和HTML創(chuàng)建的UI組件庫(kù)。

          1. Bootstrap

          官網(wǎng)地址:https://getbootstrap.com/

          GitHub(131k):https://github.com/twbs/bootstrap

          Bootstrap是 Twitter 推出的基于HTML、CSS、JavaScript 開(kāi)發(fā)的簡(jiǎn)潔、直觀、強(qiáng)悍的CSS開(kāi)發(fā)框架,使得 Web 開(kāi)發(fā)更加快捷。Bootstrap 提供了優(yōu)雅的HTML和CSS規(guī)范,它由動(dòng)態(tài)CSS語(yǔ)言Less寫成。Bootstrap 推出后頗受歡迎,一直是GitHub上的熱門開(kāi)源項(xiàng)目。




          Bootstrap 的優(yōu)點(diǎn):

          • 流行框架: Bootstrap 是最流行的開(kāi)源項(xiàng)目之一。在遇到問(wèn)題時(shí)可以很容易的找到解決方案。
          • 功能齊全: 它不僅是一個(gè)開(kāi)發(fā)框架,還是一個(gè)預(yù)構(gòu)建的動(dòng)態(tài)模板,包含很多現(xiàn)成的組件。這可以使任何開(kāi)發(fā)人員,即使沒(méi)有前端經(jīng)驗(yàn),也可以更輕松地開(kāi)發(fā)結(jié)構(gòu)良好的頁(yè)面。
          • 可定制: 可以輕松定制 Bootstrap。可以使用 npm 安裝項(xiàng)目,導(dǎo)入需要的部分,并使用 CSS 變量自定義幾乎所有內(nèi)容。
          • 成熟且受支持: Bootstrap 最初由 Twitter 退出,現(xiàn)在由數(shù)百名開(kāi)發(fā)人員組成的社區(qū)維護(hù),確保穩(wěn)定發(fā)布和長(zhǎng)期支持。

          Bootstrap 的缺點(diǎn):

          • 難以覆蓋: Bootstrap 具有非常具體的設(shè)計(jì)和外觀,如果想要不同的風(fēng)格,就很難覆蓋。由于它廣泛的使用 CSS 中的!important規(guī)則,因此可能很難覆蓋默認(rèn)值。
          • 依賴 jQuery: 與其他僅支持 CSS 的框架不同,Bootstrap 4 的許多交互功能都依賴于 jQuery。這使得將它與 React 或 Vue 等 JavaScript 框架一起使用變得更加困難,但也不是不可能。不過(guò),在 Boostrap 5 中刪除了 jQuery 依賴項(xiàng)。
          • 依賴繁重: Bootstrap 在項(xiàng)目中非常繁重,盡管可以只導(dǎo)入需要的部分,但它不像其他框架那樣輕量級(jí)或模塊化。


          2. Foundation

          官方地址:https://get.foundation/

          GitHub(29.4k):https://github.com/foundation/foundation-sites

          Foundation 是一個(gè)用于開(kāi)發(fā)響應(yīng)式的 HTML, CSS 和 JavaScript 框架。它是一個(gè)易用、強(qiáng)大而且靈活的框架,用于構(gòu)建基于任何設(shè)備上的 Web 應(yīng)用,是一個(gè)移動(dòng)優(yōu)先的流行框架。

          實(shí)際上,F(xiàn)oundation 不僅僅是一個(gè) CSS 框架,而是一系列前端開(kāi)發(fā)工具。這些工具可以一起使用,也可以完全獨(dú)立使用。


          Foundation 的優(yōu)點(diǎn):

          • 通用風(fēng)格: 與 Bootstrap 不同,F(xiàn)oundation 沒(méi)有為其組件使用獨(dú)特的風(fēng)格。其廣泛的模塊化和靈活的組件具有最小的樣式,并且可以輕松定制。
          • 功能齊全: Foundation 提供了很多內(nèi)置組件。還可以訪問(wèn)由開(kāi)發(fā)團(tuán)隊(duì)或社區(qū)創(chuàng)建的預(yù)定義的 HTML 模板,可以根據(jù)需求去使用這些模板。
          • 電子郵件設(shè)計(jì): oundation for Emails 可以為任何客戶端創(chuàng)建響應(yīng)式電子郵件模板,包括舊版本的 Microsoft Outlook。
          • 動(dòng)畫: Foundation 可以輕松地與 ZURB 的 Motion UI 庫(kù)集成,讓我們可以使用內(nèi)置效果來(lái)創(chuàng)建過(guò)渡和動(dòng)畫。

          Foundation 的缺點(diǎn):

          • 學(xué)習(xí)成本高: Foundation 有很多特性,比其他框架復(fù)雜得多。在進(jìn)行前端布局時(shí),它提供了很大的自由度,所以我們就需要了解這一切是如何工作的。
          • 依賴 Javascript: Foundation 的許多功能都依賴于 Javascript,使用 jQuery 或 Zepto。Zepto 是一個(gè)與 jQuery 使用相同語(yǔ)法但占用空間更小的庫(kù)。這使得 Foundation 不太適合 React 或 Angular 項(xiàng)目。Zepto 也是一個(gè)鮮為人知的庫(kù),沒(méi)有多少開(kāi)發(fā)人員熟悉。

          3. Bulma

          官方地址:https://bulma.io/

          GitHub(46.5k):https://github.com/jgthms/bulma

          Bulma 是一個(gè)免費(fèi)的開(kāi)源CSS框架,它提供了現(xiàn)成的前端組件,可以輕松地組合這些組件來(lái)構(gòu)建響應(yīng)式 Web 界面。Bulma 框架最大的特點(diǎn)就是簡(jiǎn)單好用。所有樣式都基于class,只需為 HTML 元素指定class,樣式將立刻生效。


          Bulma 的優(yōu)點(diǎn):

          • 美學(xué)設(shè)計(jì): Bulma 它采用簡(jiǎn)潔現(xiàn)代的設(shè)計(jì),即使不更改默認(rèn)設(shè)置,最終也會(huì)得到一個(gè)漂亮的網(wǎng)頁(yè)。
          • 現(xiàn)代: CSS 的 flexbox 布局使得創(chuàng)建響應(yīng)式布局變得更加容易,而 Bulma 是最早基于 flexbox 實(shí)現(xiàn)的框架之一。
          • 對(duì)開(kāi)發(fā)人員友好: Bulma 旨在為開(kāi)發(fā)人員提供出色的體驗(yàn)。考慮到這一點(diǎn),Bulma 提供了易于使用和記憶的命名約定。
          • 易于定制: Bulma 的顏色、填充和許多默認(rèn)屬性都可以使用 SASS 進(jìn)行定制。這樣,可以在幾分鐘內(nèi)設(shè)置項(xiàng)目的默認(rèn)值。
          • 沒(méi)有 Javascript: Bulma 不包含 JavaScript 功能。由于它是純 CSS 的,因此可以輕松地與 Vue 或 React 等 Javascript 框架集成。

          Bulma 的缺點(diǎn):

          • 獨(dú)特的風(fēng)格: Bulma的獨(dú)特風(fēng)格是一把雙刃劍。由于它非常獨(dú)特,如果它被過(guò)度使用,最終會(huì)得到看起來(lái)非常相似的網(wǎng)站,就像 Bootstrap 一樣。
          • 不太完整: Bulma 在許多情況下都在與 Boostrap 競(jìng)爭(zhēng),但在可訪問(wèn)性和其他企業(yè)級(jí)功能方面并不完整。


          4. Tailwind

          官方網(wǎng)址:https://tailwindcss.com/

          GitHub(63.2k):https://github.com/tailwindlabs/tailwindcss

          Tailwind CSS 是一個(gè)功能類優(yōu)先的 CSS 框架,它集成了諸如 flex, pt-4, text-center 和 rotate-90 這樣的類,它們能直接在HTML中組合起來(lái),構(gòu)建出任何設(shè)計(jì)。


          Tailwind 的優(yōu)點(diǎn):

          • 原子 CSS: Tailwind 通過(guò)提供強(qiáng)大的實(shí)用程序類使常見(jiàn)的樣式易于實(shí)現(xiàn)。這種方法有時(shí)被稱為原子 CSS,其中 HTML 元素的類清楚地描述了它的外觀。只需使用指定的class,樣式即可生效。
          • 沒(méi)有設(shè)計(jì): Tailwind 沒(méi)有預(yù)制組件或特定的設(shè)計(jì)語(yǔ)言。所以不必覆蓋現(xiàn)有樣式,在自定義設(shè)計(jì)時(shí)可以提高工作效率。
          • 可重用組件: Tailwind 允許創(chuàng)建自己的自定義組件,可以在整個(gè)項(xiàng)目中重用這些組件,還可以在官網(wǎng)上找到一些組件示例。
          • 強(qiáng)大的 PostCSS/SASS 集成: 要充分利用 Tailwind,需要安裝并將其導(dǎo)入 SASS 或 PostCSS 項(xiàng)目。這使可以利用 Tailwind 的所有功能來(lái)編寫更有效的 CSS。

          Tailwind 的缺點(diǎn):

          • 學(xué)習(xí)成本高: 對(duì)于經(jīng)驗(yàn)不足的開(kāi)發(fā)人員來(lái)說(shuō),Tailwind 并不是最佳選擇。由于它不提供預(yù)制組件,因此需要充分了解前端技術(shù)的工作原理。Tailwind 的學(xué)習(xí)成本較高,必須學(xué)習(xí)相關(guān)語(yǔ)法才能使用該框架高效工作。
          • 不能直接使用: Tailwind 可以作為捆綁的 CSS 文件添加到項(xiàng)目中。但如果這樣添加框架,它的許多功能將不可用,并且將無(wú)法使用壓縮版本(壓縮版 27 KB、原始版 348 KB )。要充分利用 Tailwind,需要知道如何使用 Webpack、Gulp 或其他前端構(gòu)建工具。


          5. UIkit

          官方地址:http://getuikit.com/

          GitHub(17.7k):https://github.com/uikit/uikit

          UIkit 是 YOOtheme 團(tuán)隊(duì)開(kāi)發(fā)的一款輕量級(jí)、模塊化的前端框架,可快速構(gòu)建強(qiáng)大的前端界面。UIKit提供了全面的HTML、CSS、JavaScript組件。它基于LESS開(kāi)發(fā),代碼結(jié)構(gòu)清晰簡(jiǎn)單,易于擴(kuò)展和維護(hù),并且具有體積小、反應(yīng)靈敏的響應(yīng)式組件,可以根據(jù) UIKit 基本的風(fēng)格樣式,輕松地自定義創(chuàng)建出自己喜歡的主題樣式。


          UIkit 的優(yōu)點(diǎn):

          • 數(shù)十個(gè)組件: UIKit 通過(guò)數(shù)十個(gè)組件,可以實(shí)現(xiàn)復(fù)雜的前端布局。它包括所有典型的實(shí)用程序和組件,并且可以訪問(wèn)高級(jí)元素,如導(dǎo)航欄、畫布外邊欄和視差設(shè)計(jì)等。
          • 可擴(kuò)展: UIKit 可以使用 LESS 或 SASS 預(yù)處理器輕松定制和擴(kuò)展。
          • 基于 UI 的定制器: UIKit 提供了一個(gè)基于 Web 的定制器,可以實(shí)時(shí)定制設(shè)計(jì),然后將 SASS 或 LESS 變量復(fù)制到項(xiàng)目中。

          UIkit 的缺點(diǎn):

          • 不適合小型項(xiàng)目: 不建議經(jīng)驗(yàn)不足的開(kāi)發(fā)人員使用 UIKit,因?yàn)樗且粋€(gè)復(fù)雜的框架,需要深入了解。它非常適合高級(jí)應(yīng)用程序,但對(duì)于小型項(xiàng)目可能太復(fù)雜了。
          • 社區(qū)較小: 它不像其他框架那樣受歡迎,遇到問(wèn)題可能較難找到答案。


          6. Milligram

          官網(wǎng)網(wǎng)址:https://milligram.io/

          GitHub(9.9k):https://github.com/milligram/milligram

          Milligram 提供了最小的樣式設(shè)置,以快速和干凈為起點(diǎn)。壓縮后只有 2kb!它為更好的性能和更高的生產(chǎn)力而設(shè)計(jì),需要重置的屬性更少,代碼更簡(jiǎn)潔。


          Milligram 的優(yōu)點(diǎn):

          • 極簡(jiǎn) CSS 框架: Milligram 易于設(shè)置和上手。盡管它提供了強(qiáng)大的功能來(lái)提高生產(chǎn)力,但它在壓縮后僅有 2 KB。
          • 無(wú)默認(rèn)樣式: 與其他框架不同,Milligram 沒(méi)有默認(rèn)樣式。在實(shí)現(xiàn)自定義樣式時(shí),無(wú)需重置或覆蓋不符合目標(biāo)的屬性。
          • 易于學(xué)習(xí): 上手非常簡(jiǎn)單,閱讀官方文檔足以入門。

          Milligram 的缺點(diǎn):

          • 無(wú)模板: Milligram 沒(méi)有提供預(yù)制的模板。
          • 社區(qū)較小: Milligram 有一個(gè)小而緊密的社區(qū)。尋找社區(qū)的支持并不像使用更流行的 CSS 框架那么容易。

          7. Pure

          官網(wǎng)地址:http://purecss.io/

          GitHub(22.7k):https://github.com/pure-css/pure

          Pure.css是美國(guó)雅虎公司出品的一組輕量級(jí)、響應(yīng)式純CSS模塊,適用于任何Web項(xiàng)目。這個(gè)框架非常小,在使用所有模塊時(shí)壓縮后只有 3.7 KB。


          Pure 的優(yōu)點(diǎn):

          • 輕量: 每一行 CSS 都經(jīng)過(guò)仔細(xì)考慮和編寫,以使框架輕量級(jí)和高性能。
          • 可定制: 可以以模塊化方式導(dǎo)入 Pure 并僅實(shí)現(xiàn)需要的內(nèi)容。
          • 支持良好: 與社區(qū)項(xiàng)目不同,Pure 得到 Yahoo 的支持,這使得該項(xiàng)目成為長(zhǎng)期使用的安全選擇。
          • 現(xiàn)成的組件: Pure 帶有響應(yīng)式和為現(xiàn)代網(wǎng)絡(luò)構(gòu)建的預(yù)制組件。

          Pure 的缺點(diǎn):

          • 不適用于小團(tuán)隊(duì): Pure 不適合經(jīng)驗(yàn)不足或者小型的團(tuán)隊(duì),因?yàn)樾枰獎(jiǎng)?chuàng)建自己的設(shè)計(jì)來(lái)使用該框架。

          8. Tachyons

          官方網(wǎng)址:https://tachyons.io/

          GitHub(11.3k):https://github.com/tachyons-css/tachyons

          Tachyons與其他流行的前端框架不同,Tachyons旨在將CSS規(guī)則分解為小型的、可管理的、以及可復(fù)用的部件。Tachyons可以幫助開(kāi)發(fā)人員創(chuàng)建出具有高度可讀性、能夠快速加載和響應(yīng)的網(wǎng)站,而且無(wú)需使用大量CSS代碼。



          Tachyons 的優(yōu)點(diǎn):

          • 即用型組件: 盡管 Tachyons 專注于提供出色的實(shí)用程序類以提高生產(chǎn)力,但官方文檔也包含許多即用型組件。
          • 多樣化: Tachyons 提供可用于不同設(shè)置的功能模板,例如靜態(tài) HTML、Rails、React、Angular 等。
          • 可重復(fù)使用: Tachyon 是創(chuàng)建可擴(kuò)展設(shè)計(jì)系統(tǒng)的絕佳選擇。該框架允許創(chuàng)建可重用的屬性來(lái)構(gòu)建多樣化和靈活的組件。

          Tachyons 的缺點(diǎn):

          • 主要用于 PostCSS: PostCSS 是使用 Tachyons 的主要方式,但不像 LESS 或 SASS 那樣廣泛使用。Tachyons 確實(shí)提供了 SASS 的集成,但它并未得到廣泛使用和支持。

          9. Materialize

          官方地址:https://materializecss.com/

          GitHub(38.7k):https://github.com/Dogfalo/materialize

          Materialize是一個(gè)使用CSS,JavaScript和HTML創(chuàng)建的UI組件庫(kù)。實(shí)現(xiàn)UI組件有助于構(gòu)建有吸引力,一致和功能的網(wǎng)頁(yè)和網(wǎng)絡(luò)應(yīng)用程序,同時(shí)堅(jiān)持現(xiàn)代網(wǎng)絡(luò)設(shè)計(jì)原則,如瀏覽器可移植性,設(shè)備獨(dú)立性和優(yōu)雅的降級(jí)。它有助于創(chuàng)建更快,更美觀,更靈敏的網(wǎng)站。它的靈感來(lái)自Google Material Design。


          Materialize 的優(yōu)點(diǎn):

          • 功能齊全: Materialize CSS 提供了很多預(yù)制組件,還帶有更高級(jí)的 Javascript 功能來(lái)支持交互。
          • 移動(dòng)友好: 可以使用框架的類似移動(dòng)設(shè)備的組件(例如浮動(dòng)導(dǎo)航欄和滑動(dòng)交互)創(chuàng)建漸進(jìn)式 Web 應(yīng)用程序。

          Materialize 的缺點(diǎn):

          • 嚴(yán)格的設(shè)計(jì)語(yǔ)言: 如果想做一些不接近材料設(shè)計(jì)的事情,最好避免使用 Materialise。
          • 獨(dú)立項(xiàng)目: Materialise 有一個(gè)活躍的社區(qū),但它是一個(gè)小型且獨(dú)立的項(xiàng)目,沒(méi)有企業(yè)支持。

          10. 總結(jié)

          這些 CSS 框架在一定程度上有助于提高工作效率。那該如何選擇這些框架呢?

          • 想要更多的功能以及預(yù)制的組件,選擇 Bootstrap、Bulma、Materialize;
          • 想要只提供實(shí)用程序類而不提供樣式的框架,選擇 Tailwind、Milligram、Pure;
          • 想要高水平社區(qū)支持的框架,選擇 Bootstrap、Foundation;
          • 想要更輕量的框架,選擇 Tailwind、Milligram。

          最后,還是要根據(jù)實(shí)際需求來(lái)選擇最合適的CSS框架!

          lex 布局是一維布局

          Grid 布局是二維布局



          flex 布局一次只能處理一個(gè)維度上的元素布局,一行或者一列

          Grid 布局是將容器劃分成了“行”和“列”,產(chǎn)生了一個(gè)個(gè)的網(wǎng)格。

          Grid基礎(chǔ)

          display:grid 或 display:inline-grid 來(lái)創(chuàng)建一個(gè)網(wǎng)格容器

          grid-template-columns 和 grid-template-rows 屬性來(lái)定義網(wǎng)格中的行和列

          一個(gè)網(wǎng)格單元是在一個(gè)網(wǎng)格元素中最小的單位

          劃分網(wǎng)格的線,稱為"網(wǎng)格線"。應(yīng)該注意的是,當(dāng)我們定義網(wǎng)格時(shí),我們定義的是網(wǎng)格軌道,而不是網(wǎng)格線。Grid 會(huì)為我們創(chuàng)建編號(hào)的網(wǎng)格線來(lái)讓我們來(lái)定位每一個(gè)網(wǎng)格元素。m 列有 m + 1 垂直的網(wǎng)格線,n 行有 n + 1 跟水平網(wǎng)格線。比如上圖示例中就有 4 根垂直網(wǎng)格線。一般而言,是從左到右,從上到下,1,2,3 進(jìn)行編號(hào)排序。當(dāng)然也可以從右到左,從下到上,按照 -1,-2,-3...順序進(jìn)行編號(hào)排序

          grid-template-columns 屬性和 grid-template-rows 屬性

          grid-template-columns 屬性設(shè)置列寬,grid-template-rows 屬性設(shè)置行高

          .wrapper {

          display: grid;

          /* 聲明了三列,寬度分別為 200px 100px 200px */

          grid-template-columns: 200px 100px 200px;

          grid-gap: 5px;

          /* 聲明了兩行,行高分別為 50px 50px */

          grid-template-rows: 50px 50px;

          }

          repeat() 函數(shù):可以簡(jiǎn)化重復(fù)的值。該函數(shù)接受兩個(gè)參數(shù),第一個(gè)參數(shù)是重復(fù)的次數(shù),第二個(gè)參數(shù)是所要重復(fù)的值。

          .wrapper-1 {

          display: grid;

          grid-template-columns: 200px 100px 200px;

          grid-gap: 5px;

          /* 2行,而且行高都為 50px */

          grid-template-rows: repeat(2, 50px);

          }

          auto-fill 關(guān)鍵字:表示自動(dòng)填充,讓一行(或者一列)中盡可能的容納更多的單元格

          .wrapper-2 {

          display: grid;

          grid-template-columns: repeat(auto-fill, 200px);

          grid-gap: 5px;

          grid-auto-rows: 50px;

          }

          fr 關(guān)鍵字:Grid 布局還引入了一個(gè)另外的長(zhǎng)度單位來(lái)幫助我們創(chuàng)建靈活的網(wǎng)格軌道。fr 單位代表網(wǎng)格容器中可用空間的一等份。

          .wrapper-3 {

          display: grid;

          grid-template-columns: 200px 1fr 2fr;

          grid-gap: 5px;

          grid-auto-rows: 50px;

          }

          minmax() 函數(shù):我們有時(shí)候想給網(wǎng)格元素一個(gè)最小和最大的尺寸,minmax() 函數(shù)產(chǎn)生一個(gè)長(zhǎng)度范圍,表示長(zhǎng)度就在這個(gè)范圍之中都可以應(yīng)用到網(wǎng)格項(xiàng)目中。它接受兩個(gè)參數(shù),分別為最小值和最大值。

          .wrapper-4 {

          display: grid;

          grid-template-columns: 1fr 1fr minmax(300px, 2fr);

          grid-gap: 5px;

          grid-auto-rows: 50px;

          }



          auto 關(guān)鍵字:由瀏覽器決定長(zhǎng)度。通過(guò) auto 關(guān)鍵字,我們可以輕易實(shí)現(xiàn)三列或者兩列布局。

          .wrapper-5 {

          display: grid;

          grid-template-columns: 100px auto 100px;

          grid-gap: 5px;

          grid-auto-rows: 50px;

          }

          grid-row-gap 屬性、grid-column-gap 屬性以及 grid-gap 屬性

          grid-row-gap: 10px 表示行間距是 10px,grid-column-gap: 20px 表示列間距是 20px。grid-gap: 10px 20px 實(shí)現(xiàn)的效果是一樣的

          .wrapper {

          display: grid;

          grid-template-columns: 200px 100px 100px;

          grid-gap: 10px 20px;

          grid-auto-rows: 50px;

          }

          .wrapper-1 {

          display: grid;

          grid-template-columns: 200px 100px 100px;

          grid-auto-rows: 50px;

          grid-row-gap: 10px;

          grid-column-gap: 20px;

          }

          grid-template-areas 屬性

          grid-template-areas 屬性用于定義區(qū)域,一個(gè)區(qū)域由一個(gè)或者多個(gè)單元格組成


          主站蜘蛛池模板: 无码人妻精品一区二区三区蜜桃| 蜜桃臀无码内射一区二区三区| 久久亚洲色一区二区三区| 精品视频一区二区| 日本一区精品久久久久影院| 精品无码国产AV一区二区三区| 日韩人妻无码一区二区三区综合部| 欧洲亚洲综合一区二区三区| 亚洲伦理一区二区| 国产亚洲一区区二区在线| 国产成人一区二区三区电影网站| 亚洲午夜在线一区| 国产爆乳无码一区二区麻豆 | 中文字幕一区二区三区视频在线| 伊人久久精品一区二区三区| 久久久久99人妻一区二区三区| 夜夜精品无码一区二区三区| 国产一区二区草草影院| 无码人妻视频一区二区三区| 红桃AV一区二区三区在线无码AV| 日韩精品无码Av一区二区| 精品国产一区二区三区| 中文字幕乱码一区久久麻豆樱花| 久久se精品一区精品二区| 综合人妻久久一区二区精品| 国产免费播放一区二区| 夜夜爽一区二区三区精品| 精品一区二区三区无码免费直播| 欧美日韩精品一区二区在线观看| 亚洲一区二区免费视频| 亚洲国产美国国产综合一区二区| 国产一区二区三区夜色| 中文字幕在线无码一区| 亚洲色无码一区二区三区| 国产福利视频一区二区| 免费av一区二区三区| 久久青草精品一区二区三区| 国产精品日本一区二区在线播放 | 免费无码一区二区三区蜜桃 | 国产成人一区二区精品非洲| 国产精品亚洲一区二区三区在线观看|