認識grid

更新 發佈閱讀 10 分鐘

這邊我們要先釐清grid跟flexbox的差別,flexbox是一條軸線("就是橫排跟直排"),而grid則是「行+列同時控制」,將容器切割成格子,會將元素擺進指定的格子或者自動排列。

grid 程式碼如下:

display: grid  //啟用 Grid

grid-template-columns //設定欄數(column)

grid-template-rows //設定列數(row)

grid-auto-columns //自動產生欄寬

grid-auto-rows //自動產生列高

gap //列+欄間距

column-gap //欄間距

row-gap //列間距

justify-items //水平對齊所有格子內容

align-items //垂直對齊所有格子內容

justify-content //整個 Grid 水平方向對齊

align-content //整個 Grid 垂直方向對齊

grid-auto-flow //控制自動擺放方向

fr //等分的概念,類似 Flex 中的 flex-grow,例:1fr

repeat() //可重複某值,傳入兩個參數,次數與值,例:repeat(2, 1fr)

minmax() //可將值限定在某區間,傳入兩個參數,最小值與最大值,例:minmax(20px, auto)

display: grid

程式碼如下:

<!doctype html>
<html lang="en-US">

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <link href="test2.css" rel="stylesheet" />
</head>

<body>
  <div class="container">
    <div class="a1">header</div>
    <div class="a2">menu</div>
    <div class="a3">content1</div>
    <div class="a4">content2</div>
  </div>
</body>
</html>
.container {
  display: grid;
  grid-template-rows: 100px 300px; /*設定列數*/
  grid-template-columns: 150px 200px; /*設定欄數*/
}
.a1{
    border: 2px solid blue;
}
.a2{
    border: 2px solid rgb(255, 145, 0);
}
.a3{
    border: 2px solid rgb(44, 195, 102);
}
.a4{
    border: 2px solid blue;
}

結果會長成圖片這樣子

vocus|新世代的創作平台

repeat:重複欄位

.container {
  display: grid;
  grid-template-columns: repeat(3,1fr); /*重複欄位*/
}
.a1{
    border: 2px solid blue;
}
.a2{
    border: 2px solid rgb(255, 145, 0);
}
.a3{
    border: 2px solid rgb(44, 195, 102);
}
.a4{
    border: 2px solid blue;
}

會變成這樣:

vocus|新世代的創作平台

grid-auto-rows:自動產生列

.container {
  display: grid;
  grid-auto-rows:100px; /*自動產生列*/
}
.a1{
    border: 2px solid blue;
}
.a2{
    border: 2px solid rgb(255, 145, 0);
}
.a3{
    border: 2px solid rgb(44, 195, 102);
}

.a4{
    border: 2px solid blue;
}

會出現如附圖這樣:

vocus|新世代的創作平台

grid-auto-columns:自動產生欄

.container {
  display: grid;
  grid-auto-columns: 200px; /*自動產生欄*/
}
.a1{
    border: 2px solid blue;
}
.a2{
    border: 2px solid rgb(255, 145, 0);
}
.a3{
    border: 2px solid rgb(44, 195, 102);
}
.a4{
    border: 2px solid blue;
}

會出現如附圖這樣:

vocus|新世代的創作平台

gap:產生間距

.container {
  display: grid;
  grid-auto-rows: 300px; /*自動產生欄*/
}
.a1{
    border: 2px solid blue;
}
.a2{
    border: 2px solid rgb(255, 145, 0);
}
.a3{
    border: 2px solid rgb(44, 195, 102);
}
.a4{
    border: 2px solid blue;
}

會出現如附圖這樣:

vocus|新世代的創作平台

justify-items:格子內元素水平對齊

.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-items: center; /*格子內元素水平對齊*/
}
.a1{
    border: 2px solid blue;
}
.a2{
    border: 2px solid rgb(255, 145, 0);
}
.a3{
    border: 2px solid rgb(44, 195, 102);
}
.a4{
    border: 2px solid blue;
}

會出現如附圖這樣:

vocus|新世代的創作平台

align-items:格子內元素垂直對齊

.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center; /*格子內元素垂直對齊*/
}
.a1{
    border: 2px solid blue;
}
.a2{
    border: 2px solid rgb(255, 145, 0);
}
.a3{
    border: 2px solid rgb(44, 195, 102);
}
.a4{
    border: 2px solid blue;
}

會出現如附圖這樣:

vocus|新世代的創作平台

align-content:整個 Grid 垂直對齊容器

.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  height: 300px;
  align-items: center; /*整個 Grid 垂直對齊容器*/
  border: 2px solid black;
}
.a1{
    border: 2px solid blue;
}

.a2{
    border: 2px solid rgb(255, 145, 0);
}

.a3{
    border: 2px solid rgb(44, 195, 102);
}
.a4{
    border: 2px solid blue;
}

會出現如附圖這樣:

vocus|新世代的創作平台

grid-auto-flow:自動填法

.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  height: 300px;
  grid-auto-flow: column; /*自動田法*/
  border: 2px solid black;
}
.a1{
    border: 2px solid blue;
}
.a2{
    border: 2px solid rgb(255, 145, 0);
}
.a3{
    border: 2px solid rgb(44, 195, 102);
}
.a4{
    border: 2px solid blue;
}

會出現如附圖這樣:

vocus|新世代的創作平台


留言
avatar-img
睿哲楊的沙龍
2會員
18內容數
睿哲楊的沙龍的其他內容
2025/11/27
我們現在常見的flex的語法有這些 display:flex //(注意:這裡如果沒設成flex,底下語法都無法使用喔!!!) flex-wrap flex-direction flex-flow //(可以同時設定flex-direction和flex-wrap) justify-co
2025/11/27
我們現在常見的flex的語法有這些 display:flex //(注意:這裡如果沒設成flex,底下語法都無法使用喔!!!) flex-wrap flex-direction flex-flow //(可以同時設定flex-direction和flex-wrap) justify-co
2025/11/26
首先我們先聊聊margin&padding的差異之前,我們先可以先聊聊元素的外框 HTML裡的一個元素外面都有所謂的外框,依次分為margin、border、padding。而他們各自述職的位置對應不同的外邊界(ex:margin "方向分為上、右、下、左") 我們先聊聊margin,所謂的
Thumbnail
2025/11/26
首先我們先聊聊margin&padding的差異之前,我們先可以先聊聊元素的外框 HTML裡的一個元素外面都有所謂的外框,依次分為margin、border、padding。而他們各自述職的位置對應不同的外邊界(ex:margin "方向分為上、右、下、左") 我們先聊聊margin,所謂的
Thumbnail
2025/11/24
首先需要先購建構環境,那我們要先去安裝nvm。 至於nvm是什麼,nvm全名"Node Version Manager",是一款專門用來管理node.js版本的工具,他可以協助你安裝、切換、管理不同版本的Node.js 安裝nvm: 接著開啟終端機,按照下列步驟做: (也可直接搜尋pow
2025/11/24
首先需要先購建構環境,那我們要先去安裝nvm。 至於nvm是什麼,nvm全名"Node Version Manager",是一款專門用來管理node.js版本的工具,他可以協助你安裝、切換、管理不同版本的Node.js 安裝nvm: 接著開啟終端機,按照下列步驟做: (也可直接搜尋pow
看更多
你可能也想看
Thumbnail
創作的路上,除了產出好內容,認識著作權、並保護自己的創作權益,也是非常重要的一環。成長學院將分享一系列與著作權、IP 相關的內容,幫助創作者們建立基本觀念與認知,持續成長。
Thumbnail
創作的路上,除了產出好內容,認識著作權、並保護自己的創作權益,也是非常重要的一環。成長學院將分享一系列與著作權、IP 相關的內容,幫助創作者們建立基本觀念與認知,持續成長。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
我請學生舉一則說謊事件為例,填寫〈說謊事件分析表〉。首先,簡單敘述事情經過,然後判斷這是屬於說謊事件圖表中的哪一項。有趣的是,明明都是說謊,但當學生準確將說謊事件歸類後,反而可以輕鬆找到避免說謊的方法。最後,根據填寫好的表格寫成一篇解析謊言的議論文,不但論據可靠,論點也極有深度。
Thumbnail
我請學生舉一則說謊事件為例,填寫〈說謊事件分析表〉。首先,簡單敘述事情經過,然後判斷這是屬於說謊事件圖表中的哪一項。有趣的是,明明都是說謊,但當學生準確將說謊事件歸類後,反而可以輕鬆找到避免說謊的方法。最後,根據填寫好的表格寫成一篇解析謊言的議論文,不但論據可靠,論點也極有深度。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
在台灣,有不可亂撿地上紅包的忌諱,否則就得和女鬼冥婚;而在古代,也有不可亂撿地上財物的忌諱,因為那恐怕是歹毒的巫蠱術,你不用牠來害人,牠就會害你。至於狠人林巡檢,是如何破解的呢? 這則故事,全篇沒有一字道德教訓,卻引導讀者深切理解「廉」與「恥」的涵義,比起顧炎武的〈廉恥〉更具可讀性與教育意義。
Thumbnail
在台灣,有不可亂撿地上紅包的忌諱,否則就得和女鬼冥婚;而在古代,也有不可亂撿地上財物的忌諱,因為那恐怕是歹毒的巫蠱術,你不用牠來害人,牠就會害你。至於狠人林巡檢,是如何破解的呢? 這則故事,全篇沒有一字道德教訓,卻引導讀者深切理解「廉」與「恥」的涵義,比起顧炎武的〈廉恥〉更具可讀性與教育意義。
Thumbnail
教學主題:認識乘法(一)~乘法的意義 教材版本:適用於康軒、南一、翰林各版本(可微調) 教學時間:40分鐘 一、教學目標 學生能夠: 1. 理解乘法是「連加」的表現方式。 2. 以「幾個幾」的方式解釋乘法意義。 3. 讀懂並書寫基本的乘法算式(如:3×2)。 4. 利
Thumbnail
教學主題:認識乘法(一)~乘法的意義 教材版本:適用於康軒、南一、翰林各版本(可微調) 教學時間:40分鐘 一、教學目標 學生能夠: 1. 理解乘法是「連加」的表現方式。 2. 以「幾個幾」的方式解釋乘法意義。 3. 讀懂並書寫基本的乘法算式(如:3×2)。 4. 利
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News