Html、CSS基礎 – 排版:

更新 發佈閱讀 13 分鐘

※ Layout佈局介紹:網頁畫面整體的框架

設計稿解構:

vocus|新世代的創作平台

佈局:

  • header:表頭
  • main:主要內容
  • footer:表尾
  • row:列
  • colum:行
vocus|新世代的創作平台

元件:

vocus|新世代的創作平台

欄位:

vocus|新世代的創作平台

排版屬性:

vocus|新世代的創作平台

※ Inline– Block範例:

1.建立layout_example專案:

vocus|新世代的創作平台

2.建立多欄式結構:index.html

<!-- inline block -->
<!-- 標題 -->
<h2>inline-block</h2>
<!-- 多欄式 -->
<div class="row">
<div class="col"></div
><div class="col"></div
><div class="col"></div>
</div>

3.建立多欄式樣式:style.css

/* Global */
* {
box-sizing: border-box;
position: relative;
}/* inline-block */
.row {
border: 1px solid #000;
height: 500px;
}

.col {
/* 三欄式寫法 */
width: 33.333333%;
height: 400px;
border: 1px solid red;
display: inline-block;
}

成果顯示:

vocus|新世代的創作平台

4.建立假元件結構:index.html

	<div class="row">
<div class="col">
<div class="card"></div></div
><div class="col">
<div class="card"></div></div
><div class="col">
<div class="card"></div></div>
</div>

5.建立假元件樣式:style.css

/* inline-block */
.row {
border: 1px solid #000;
/* height: 500px;不需要了 */
background-color: #aacbff;
}

.col {
/* 三欄式寫法 */
width: 33.333333%;
/* height: 400px;不需要了 */
border: 1px solid #fff;
background-color: #2f66bc;
display: inline-block;
/* 強制向上對齊 */
vertical-align: top;
/* 建立中間間距 ,在左右兩邊推出一個距離*/
padding-left: 16px;
padding-right: 16px;
}
/* card */
.card{
height: 300px;
/* 寬度隨著layout去做改變 */
width: 100%;
background-color: pink;
}

成果顯示:

vocus|新世代的創作平台

※ 畫面置中排版範例:

index.html

<div class="container">

<!-- inline block -->
<!-- 標題 -->
<h2>inline-block</h2>
<!-- 多欄式 -->
<div class="row">
<div class="col">
<div class="card"></div></div
><div class="col">
<div class="card"></div></div
><div class="col">
<div class="card"></div></div>
</div>

style.css

/* container 畫面置中排版*/
.container{
display: block;
margin: 0 auto;
width: 960px;
border: 1px solid #000;
}

成果顯示:

vocus|新世代的創作平台

※ Float:

vocus|新世代的創作平台

※ Float範例:

index.html

<h2>Float</h2>
<div class="float-row">
<div class="float-col">
<div class="card">1</div>
</div>
<div class="float-col">
<div class="card">2</div>
</div>
<div class="float-col">
<div class="card">3</div>
</div>
</div>

style.css

/* float */
.float-row {
border: 2px solid blue;
}

.float-col {
border: 1px solid #fff;
background-color: #2f66bc;
/* 三欄式寫法 */
width: 33.333333%;
/* 建立中間間距 ,在左右兩邊推出一個距離*/
padding-left: 16px;
padding-right: 16px;
/* 向左浮動的邏輯 ,會脫離原本block的屬性*/
float: left;
}

成果顯示:

vocus|新世代的創作平台


※ Float浮動問題範例:

vocus|新世代的創作平台

index.html

	<!-- Float -->
<h2>Float</h2>
<div class="float-row">
<div class="float-col">
<div class="card">1</div>
</div>
<div class="float-col">
<div class="card">2</div>
</div>
<div class="float-col">
<div class="card">3</div>
</div>
</div>
<div class="footer"></div>

style.css

.footer{
background-color: #333;
height: 100px;
}

成果顯示:

vocus|新世代的創作平台

※ 解決Float浮動問題範例:

方法一:

vocus|新世代的創作平台

index.html

<!-- 清除浮動 -->
<div class="clearfix"></div>

style.css

/* 清除浮動 */
.clearfix{
clear: both;
}

成果顯示:

vocus|新世代的創作平台

方法二:使用偽元素

style.css

/* 使用偽元素清除浮動 */
.float-row:after{
content: '';
display: block;
clear: both;
}

成果顯示:

vocus|新世代的創作平台

※ Float和Inline– Block各自的問題有什麼?

Float:

  • 脫離正常文流:浮動元素不再佔據原本的位置,可能導致父元素高度塌陷。
  • 需要清除浮動:為了讓父元素包住浮動子元素,必須使用 clearfix
  • 元素重疊或排版錯亂。
  • 不易垂直對齊。

inline-block:

  • 空白間距問題換行會在 inline-block元素之間產生間距4px。
  • 垂直對齊困難。

差別成果顯示:

vocus|新世代的創作平台

※ Flex:彈性排版

Flex 排版的核心概念:排版是建立在 父子層結構之上的。

  • 父層(容器)要設定 display: flexdisplay: inline-flex
  • 子層(項目)才會受到 Flex 排版的影響。
vocus|新世代的創作平台


index.html

<!-- Flex -->
<h2>Flex</h2>
<div class="flex-row">
<div class="flex-col">
<div class="card">1</div>
</div>
<div class="flex-col">
<div class="card">2</div>
</div>
<div class="flex-col">
<div class="card">3</div>
</div>
<div class="flex-col">
<div class="card">4</div>
</div>

</div>

style.css

/* flex */
.flex-row{
border: 2px solid orange;
background-color: #aacbff;
/* 彈性排版 */
display: flex;
/* 自適應排版,抓出區間 */
/* justify-content: space-between; */
/* 項目左右都留空,空間平均分配在項目周圍 */
/* justify-content: space-around; */
/* 所有項目靠主軸起點對齊(預設值) */
/* justify-content: flex-start; */
/* 所有項目靠主軸終點對齊 */
/* justify-content: flex-end; */
}
.flex-col{
border: 1px solid #fff;
background-color: #2f66bc;
/* 建立中間間距 ,在左右兩邊推出一個距離*/
padding-left: 16px;
padding-right: 16px;
/* 三欄式寫法 */
width: 200px
}

成果顯示:

vocus|新世代的創作平台

※ Flex:填滿功能

index.html

	<!-- Flex -->
<h2>Flex</h2>
<div class="flex-row">
<div class="flex-col flex-col-1">
<div class="card">1</div>
</div>
<div class="flex-col flex-col-2">
<div class="card" >2</div>
</div>
<div class="flex-col flex-col-3">
<div class="card">3</div>
</div>
</div>

style.css

.flex-col-1{
width: 200px
}
.flex-col-2{
/* 彈性排版比例 */
/* 用1:1的比例去做排列 */
flex: 1;
}
.flex-col-3{
flex: 1;
}

成果顯示:

vocus|新世代的創作平台

※ Flex:解決瀏覽器適應的問題

  • 使用「Can I use」工具確認支援度。
  • 加入前綴詞(對舊版瀏覽器有幫助)。
  • 使用 flex-wrap 處理換行問題,某些瀏覽器預設不會自動換行,導致排版錯亂。

※ Flex使用手冊:

網址:https://css-tricks.com/snippets/css/a-guide-to-flexbox/

vocus|新世代的創作平台


















留言
avatar-img
奧莉薇走在成為後端工程師之路上
28會員
171內容數
全端網頁開發專業知識分享
2025/08/08
※ 微互動範例: 1.建立btns_example專案: 2.建立HTML結構:index.html <body> <div class="section section1"></div> <div class="section section2"></div> <div class="
Thumbnail
2025/08/08
※ 微互動範例: 1.建立btns_example專案: 2.建立HTML結構:index.html <body> <div class="section section1"></div> <div class="section section2"></div> <div class="
Thumbnail
2025/08/01
※ 偽元素: 針對某個元素的特定部分進行樣式設定,而不需要在 HTML 中新增額外的標籤。 常見的區塊元素像 <div>, <p>, <span>, <button>, <section> 等都可以使用。 偽元素常用於加上裝飾、圖示、引號等視覺效果,並常搭配 content 屬性與定位(pos
Thumbnail
2025/08/01
※ 偽元素: 針對某個元素的特定部分進行樣式設定,而不需要在 HTML 中新增額外的標籤。 常見的區塊元素像 <div>, <p>, <span>, <button>, <section> 等都可以使用。 偽元素常用於加上裝飾、圖示、引號等視覺效果,並常搭配 content 屬性與定位(pos
Thumbnail
2025/07/31
※ Can I use:超實用的前端開發工具網站 網址:https://caniuse.com/ 功能:查詢各種 HTML、CSS、JavaScript 等語法或功能在不同瀏覽器上的支援情況。 使用方式: 加上前綴:解決部分支援的問題 .box { position: absolute;
Thumbnail
2025/07/31
※ Can I use:超實用的前端開發工具網站 網址:https://caniuse.com/ 功能:查詢各種 HTML、CSS、JavaScript 等語法或功能在不同瀏覽器上的支援情況。 使用方式: 加上前綴:解決部分支援的問題 .box { position: absolute;
Thumbnail
看更多
你可能也想看
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
製作簡報前,我們先認識基本的排版觀念,掌握幾個大原則,就可以讓簡報看起來很專業囉!
Thumbnail
製作簡報前,我們先認識基本的排版觀念,掌握幾個大原則,就可以讓簡報看起來很專業囉!
Thumbnail
CSS 盒模型是理解和設計網頁佈局的核心概念。它包括元素的內容、填充、邊框和外邊距。
Thumbnail
CSS 盒模型是理解和設計網頁佈局的核心概念。它包括元素的內容、填充、邊框和外邊距。
Thumbnail
不論是平面設計、介面設計,都能見排版這一詞。而排版的作用,即在明確的設計目標中,將所有元素做有組織的安排,精確地傳達訊息。
Thumbnail
不論是平面設計、介面設計,都能見排版這一詞。而排版的作用,即在明確的設計目標中,將所有元素做有組織的安排,精確地傳達訊息。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
在這個章節中,我們介紹了HTML的基本概念,包括其作為結構化標記語言的特性、應用領域,以及主要使用者。這些知識為後續的深入學習和實踐奠定了基礎,幫助讀者了解HTML在現代網頁開發中的重要性。
Thumbnail
在這個章節中,我們介紹了HTML的基本概念,包括其作為結構化標記語言的特性、應用領域,以及主要使用者。這些知識為後續的深入學習和實踐奠定了基礎,幫助讀者了解HTML在現代網頁開發中的重要性。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這篇文章教你如何製作側邊欄,包括準備工作、HTML和CSS的部分,還有一些互動效果。文章涵蓋了連結、圖片、超連結、大小、顏色、排版、flex和滑鼠互動等內容。
Thumbnail
這篇文章教你如何製作側邊欄,包括準備工作、HTML和CSS的部分,還有一些互動效果。文章涵蓋了連結、圖片、超連結、大小、顏色、排版、flex和滑鼠互動等內容。
Thumbnail
CSS 是控制網頁外觀的語言,應用於網頁設計、UI/UX 設計、電子商務和移動應用開發。主要使用者包括前端開發者、UI/UX 設計師和網頁設計師。CSS 的特性有樣式控制、層疊優先級、響應式設計及分離內容與樣式。
Thumbnail
CSS 是控制網頁外觀的語言,應用於網頁設計、UI/UX 設計、電子商務和移動應用開發。主要使用者包括前端開發者、UI/UX 設計師和網頁設計師。CSS 的特性有樣式控制、層疊優先級、響應式設計及分離內容與樣式。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News