成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Grid vs Flexbox:哪個更好?

開發 前端
網格布局(即Bootstrap或CSS網格)用于二維布局。這意味著什么?這意味著,如果您要同時創建包含行和列的布局,請使用網格系統。

 [[392381]]

這個話題已經爭論了很多次,哪個更好?

對您的網站布局和內容使用Grid(網格)系統還是Flexbox?讓我們深入了解兩者之間的主要區別以及何時使用它們。

Grid用于二維布局,Flexbox用于一維布局。

網格布局——二維

網格布局(即Bootstrap或CSS網格)用于二維布局。這意味著什么?這意味著,如果您要同時創建包含行和列的布局,請使用網格系統。

對于布局將包含頁面內容的頁面容器來說,這是一個完美的解決方案。

Flexbox ——一維

將Flexbox用于一維布局,這意味著內容會沿一個方向(水平或垂直)移動。

以Navbar為例——您可能具有Logo和頁面鏈接,這些Logo和頁面鏈接水平排列成一行(單向)。使用Flexbox將以更少的代碼行為您提供更大的靈活性和對內容的控制。

使用網格系統進行頁面布局,將Flexbox用于頁面內容。

這里的一般規則是Flexbox會基于內容,而網格基于布局。

Flexbox —內容之王

讓我們看一個簡單的示例,以幫助我們了解如何將這兩個概念一起使用。

讓我們從上方使用導航欄,從頭開始。這是原始的HTML:

  1. <nav> 
  2.   <div>Home</div> 
  3.   <div>About</div> 
  4.   <div>Contact</div> 
  5.   <div>Search</div> 
  6. </nav> 

現在,在使用Flexbox之前,這些元素將像這樣簡單地相互堆疊。

讓我們貼上一個 display: flex 看看會發生什么。

  1. nav { 
  2.   display: flex; 

驚人的!現在,我們將元素很好地排成一行。

讓我們把“SIGN IN”(登錄)扔到最右邊。

  1. nav > div:nth-child(4) { 
  2.   margin-left: auto; 

真正酷的是,我們把它留給項目來決定它們如何放置。我們不需要做任何其他事情,只需要給它一個 display: flex;

現在,我們可以使用網格系統實現同樣的結果--但讓我在這里告訴你其中的區別。在這個例子中,我將使用Bootstrap網格系統來創建我們的行和列。

這是我們的HTML

  1. <div class="row"
  2.   <div class="col-2">Home</div> 
  3.   <div class="col-2">About</div> 
  4.   <div class="col-2">Contact</div> 
  5.   <div class="col-6">Sign In</div> 
  6. </div> 

此處的區別是我們被迫設置許多列。

通過Bootstraps網格系統,我們需要設置相當于12列的欄位來擴展視口的全部寬度。

這里還有一個使用網格系統做內容的痛苦。如果我們將來決定添加另一個鏈接,我們每次都需要改變列寬。

  1. <div class="row"
  2.   <div class="col-2">Home</div> 
  3.   <div class="col-2">About</div> 
  4.   <div class="col-2">Contact</div> 
  5.   <div class="col-2">Rad Stuff</div> 
  6.   <div class="col-4">Sign In</div> 
  7. </div> 

有了Flexbox,我們只需將新的導航條鏈接放入,元素就會自行處理。

結合兩者

讓我們看看如何將兩者結合使用,這是網站布局。

這是HTML(再次使用Bootstraps網格系統類)。

  1. <div class="container"
  2.   <div class="row"
  3.     <div class="col-12"
  4.       Header 
  5.     </div> 
  6.   </div> 
  7.   <div class="row"
  8.     <div class="col-3"
  9.       Menu 
  10.     </div> 
  11.     <div class="col-9"
  12.       <div class="row"
  13.         <div class="col-12"
  14.           Content 
  15.         </div> 
  16.       </div> 
  17.       <div class="row"
  18.         <div class="col-12"
  19.           Content 
  20.         </div> 
  21.       </div> 
  22.     </div> 
  23.   </div> 
  24.   <div class="row"
  25.     <div class="col-12"
  26.       Footer 
  27.     </div> 
  28.   </div> 
  29. </div> 

現在,我們將添加Navbar——它是一個Flexbox容器,代替我們網格布局中的“HEADER”文本。在這個片段中,我只展示了包裝導航條的HTML。

  1. <header> 
  2.   <nav> 
  3.     <div>Home</div> 
  4.     <div>About</div> 
  5.     <div>Search</div> 
  6.     <div>Sign In</div> 
  7.   </nav> 
  8. </header> 

現在,我們有了一個可以同時利用Grid布局和Flexbox優勢的布局。

我希望你現在對Flexbox和Grid的一般和具體區別有了深刻的了解,知道如何和何時使用它們。

本文轉載自微信公眾號「前端全棧開發者」,可以通過以下二維碼關注。轉載本文請聯系前端全棧開發者公眾號。

 

責任編輯:武曉燕 來源: 前端全棧開發者
相關推薦

2018-12-11 12:38:23

UbuntuMint發行版

2020-07-09 08:08:02

JavaPython編程語言

2022-02-09 10:03:22

VivaldiBrave瀏覽器

2020-04-15 10:21:43

云計算AWSAzure

2017-10-10 15:52:17

前端FlexboxCSS Grid

2023-04-06 16:21:52

2025-05-28 00:00:00

CSS前端Flexbox

2020-09-17 07:00:00

LXDEXFCE桌面環境

2017-03-02 14:52:46

2021-06-28 11:17:14

CoutPrintf接口

2021-05-31 08:57:31

Xcode與Andro

2017-03-22 09:25:26

MySQLPostgreSQL對比

2024-09-18 00:00:05

Grid場景技術

2022-02-08 14:09:12

邊緣人工智能云計算人工智能

2022-10-28 15:51:24

JavaScript開發Node.js

2019-07-27 09:40:56

MySQLPG數據庫

2022-09-02 08:28:44

AWS多云云提供商

2013-08-09 10:56:43

2016-08-05 14:23:15

系統

2020-12-08 10:25:56

HibernateMyBatis數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 福利一区在线观看 | 午夜性色a√在线视频观看9 | 久久九 | 欧美综合在线观看 | 免费观看色| 精品久久久久久久久久久久久久 | 久久精品视频网站 | 日韩成人免费av | 少妇一级淫片免费放播放 | 天天干成人网 | 免费精品国产 | 国产成人精品综合 | 日韩欧美国产精品 | 在线看av网址 | 成人精品在线 | 精品三区 | 在线观看免费av网站 | 91偷拍精品一区二区三区 | 中文天堂网 | 欧美男人天堂 | 久久久久久久久综合 | 免费在线观看成人 | 亚洲精品视频在线观看视频 | 久久一级大片 | 亚洲 中文 欧美 | 黑人粗黑大躁护士 | 超黄毛片| 国产精品视频久久久久 | 亚洲一区二区在线视频 | 亚洲一区欧美一区 | 亚洲精品电影网在线观看 | 日美女逼逼| 青青久久 | 七七婷婷婷婷精品国产 | 成人av片在线观看 | 一级高清 | 精品成人在线 | 国产精品一区二区三区久久 | 精品久久久久久久久久久院品网 | 欧美日韩在线一区 | 午夜小电影 |