搜尋
首頁web前端css教學五分鐘教你 CSS Grid 佈局

五分鐘教你 CSS Grid 佈局

Dec 06, 2017 pm 01:57 PM
cssgrid

css在前端開發中,Grid 佈局是網站設計的基礎,CSS Grid 是創建網格佈局最強大和最簡單的工具。文我們主要介五分鐘教你學會 CSS Grid 版面的方法,希望能幫助大家。

 


CSS Grid 今年也獲得了主流瀏覽器(Safari,Chrome,Firefox,Edge)的原生支持,所以我相信所有的前端開發人員都必須在不久的將來學習這項技術。

在本文中,我將盡可能快速地介紹CSS網格的基本知識。我會把你不該關心的一切都忽略了,只是為了讓你了解最基本的知識。

你的第一個 Grid 佈局

CSS Grid 佈局由兩個核心組成部分是 wrapper (父元素)和 items (子元素)。 wrapper 是實際的 grid(網格),items 是 grid(網格) 內的內容。

下面是一個wrapper 元素,內部包含6個items :

#
<p class="wrapper">
  <p>1</p>
  <p>2</p>
  <p>3</p>
  <p>4</p>
  <p>5</p>
  <p>6</p>
</p>

要把wrapper 元素變成一個grid(網格),只要簡單地把其display 屬性設為grid 即可:

.wrapper {
    display: grid;
}

但是,這還沒有做任何事情,因為我們沒有定義我們希望的grid(網格) 是怎樣的。它會簡單地將6個 p 堆疊在一起。

 

我已經新增了一些樣式,但這與 CSS Grid 沒有任何關係。

Columns(列) 和 rows(行)

為了使其成為二維的網格容器,我們需要定義列和行。讓我們建立3列和2行。我們將使用 grid-template-row 和 grid-template-column 屬性。

.wrapper {
    display: grid;
    grid-template-columns: 100px 100px 100px;
    grid-template-rows: 50px 50px;
}

正如你所看到的,我們為 grid-template-columns 寫入了 3 個值,這樣我們就會得到 3 列。 我們想要得到 2 行,因此我們為 grid-template-rows 指定了2個值。

這些值決定了我們希望我們的列有多寬( 100px ),以及我們希望行數是多高( 50px )。 結果如下:

 

為了確保你能正確理解這些值與網格外觀之間的關係,請看一下這個例子。

.wrapper {
    display: grid;
    grid-template-columns: 200px 50px 100px;
    grid-template-rows: 100px 30px;
}

請試著理解上面的程式碼,思考一下以上程式碼會產生怎樣的佈局。

這是上面程式碼的佈局的結果:

 

#非常好理解,使用起來也非常簡單是不是?下面我們就來加大一點難度。

放置 items(子元素)

接下來你需要學習的是如何在 grid(網格) 上放置 items(子元素) 。特別注意,這裡是體現 Grid 佈局超能力的地方,因為它讓創建佈局變得非常簡單。

我們使用與之前相同的HTML 標記,為了幫助我們更好的理解,我們在每個items(子元素) 加上了單獨的class :

<p class="wrapper">
  <p class="item1">1</p>
  <p class="item2">2</p>
  <p class="item3">3</p>
  <p class="item4">4</p>
  <p class="item5">5</p>
  <p class="item6">6</p>
</p>

現在,我們來建立一個3×3 的grid(網格):

#
.wrapper {
    display: grid;
    grid-template-columns: 100px 100px 100px;
    grid-template-rows: 100px 100px 100px;
}

將得到以下佈局:

 

不知道你發現沒有,我們只在頁面上看到3×2 的grid(網格),而我們定義的是3×3 的grid(網格) 。這是因為我們只有 6 個 items(子元素) 來填滿這個網格。如果我們再加3個 items(子元素),那麼最後一行也會被填滿。

要定位和調整items(子元素) 大小,我們將使用grid-column 和grid-row 屬性來設定:

##

.item1 {
    grid-column-start: 1;
    grid-column-end: 4;
}

#我們在這裡要做的是,我們希望item1 佔據從第一條網格線開始,到第四條網格線結束。換句話說,它將獨立佔據整行。 以下是螢幕上顯示的內容:

 

如果你不明白我們設定的只有 3 列,為什麼有4條網格線呢?看看下面這個圖像,我畫了黑色的列網格線:

 

請注意,我們現在正在使用網格中的所有行。當我們把第一個 items(子元素) 佔據整個第一行時,它把剩下的 items(子元素) 都推到了下一行。

最後,給你一個更簡單的縮寫方法來寫上面的語法:

.item1 {
    grid-column: 1 / 4;
}

#

为了确保你已经正确理解了这个概念,我们重新排列其他的 items(子元素) 。

.item1 {
    grid-column-start: 1;
    grid-column-end: 3;
}
.item3 {
    grid-row-start: 2;
    grid-row-end: 4;
}
.item4 {
    grid-column-start: 2;
    grid-column-end: 4;
}

你可以尝试在你的脑子里过一边上面代码的布局效果,应该不会很难。

以下是页面上的布局效果:

 

以上内容就是五分钟教你学会 CSS Grid 布局,希望能帮助到大家。

相关推荐:

CSS Grid布局指南_html/css_WEB-ITnose

CSS Grid布局模块简介_html/css_WEB-ITnose

CSS Grid布局指南

以上是五分鐘教你 CSS Grid 佈局的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
兩個圖像和一個API:我們重新著色產品所需的一切兩個圖像和一個API:我們重新著色產品所需的一切Apr 15, 2025 am 11:27 AM

我最近找到了一種動態更新任何產品圖像的顏色的解決方案。因此,只有一種產品之一,我們可以以不同的方式對其進行著色以顯示

每周平台新聞:第三方代碼,被動混合內容,連接最慢的國家的影響每周平台新聞:第三方代碼,被動混合內容,連接最慢的國家的影響Apr 15, 2025 am 11:19 AM

在本週的綜述中,燈塔在第三方腳本上闡明了燈光,不安全的資源將在安全站點上被阻止,許多國家連接速度

託管您自己的非JavaScript分析的選項託管您自己的非JavaScript分析的選項Apr 15, 2025 am 11:09 AM

有很多分析平台可幫助您跟踪網站上的訪問者和使用數據。也許最著名的是Google Analytics(廣泛使用)

它全部都在頭上:管理帶有React頭盔的React Power Site的文檔頭它全部都在頭上:管理帶有React頭盔的React Power Site的文檔頭Apr 15, 2025 am 11:01 AM

該文檔負責人可能不是網站上最迷人的部分,但是其中所處的內容對於您的網站的成功也一樣重要

JavaScript中的Super()是什麼?JavaScript中的Super()是什麼?Apr 15, 2025 am 10:59 AM

當您看到一些稱為super()的JavaScript時,在子類中,您會使用super()調用其父母的構造函數和超級。訪問它

比較不同類型的本機JavaScript彈出窗口比較不同類型的本機JavaScript彈出窗口Apr 15, 2025 am 10:48 AM

JavaScript具有各種內置彈出API,它們顯示用於用戶交互的特殊UI。著名:

為什麼可訪問的網站如此難以構建?為什麼可訪問的網站如此難以構建?Apr 15, 2025 am 10:45 AM

前幾天,我與一些前端人們聊天,講述了為什麼這麼多公司努力創建可訪問的網站。為什麼可訪問的網站如此艱難

'隱藏”屬性顯然很弱'隱藏”屬性顯然很弱Apr 15, 2025 am 10:43 AM

有一個HTML屬性,它可以正是您認為應該做的:

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。