CSS 習作|響應式網站・width、max-width、min-width 是什麼?

更新於 2024/05/05閱讀時間約 5 分鐘
raw-image

▍ block-level element (像水一樣的區塊元素 💦)

進入 width、max-width、min-width 筆記前,再複習一次 block-level element 的特性:區塊元素會盡可能向左和向右延伸,佔據可用的全部寬度。
因此,為 block-level element 設定寬度,可以防止它延伸到其容器的邊緣。
且 block-level element 將依據不同寬度屬性設定,來佔據指定的寬度!

如下圖,沒有設定寬度屬性的區塊元素,會竭盡所能的向左向右不斷延伸,但有被設定寬度屬性的區塊元素,就會像被裝進容器的水一樣,不能動彈 ↓

區塊元素與寬度

區塊元素與寬度

寬度要怎麼設定呢?下面開始筆記「width、max-width、min-width」三種不同的寬度屬性設定!


▍➊ width 屬性

CSS width Property

width 用來設定元素的寬度,但 width 不會把 padding、border、margin 所佔據的面積也算進去,如果設定一個元素為 width: 500px; 時,則 width 作用範圍僅在 content-box 區塊↓

盒模型

盒模型

※ 注意:min-width 和 max-width 屬性會覆寫 width 屬性。

將容器設定 width: 1000px;,伸縮瀏覽視窗時,變化如下↓:

raw-image


當瀏覽視窗伸縮至小於解析度 1000px 時,帶有 width: 1000px; 的容器仍不被壓縮大小,且瀏覽器產生捲軸 Scrollbar。

閱讀 w3schools CSS width Property


▍➋ max-width 屬性

CSS max-width Property
max-width 用來設定元素的最大寬度,當一個容器被設為 max-width: 500px; 時,放在容器裡的 <p> 文字段落,無論字數有多少字,<p> 都會被限制在 max-width: 500px; 這個空間裡面,如下↓:

raw-image


而當拉寬瀏覽器視窗時,被設為 max-width: 500px; 的容器以及放在容器裡的<p>,依舊會被限制在這個寬度裡面,不會因為視窗變寬而改變寬度。
而且,當縮小瀏覽器,使視窗螢幕解析度小於 500px 時,帶有 max-width: 500px; 的容器以及放在容器裡的 <p>,會跟著容器的寬度自適應縮小,如下↓:

raw-image


▍➌max-width 和 width 的差異:

max-width 會迎合外層容器,若在 .container 設置 max-width: 1200px;,則 .container 最大寬度為 1200px,不會因為拉大視窗使 .container 超出 1200px,而當視窗縮小時,.container 則跟著父層容器自適應縮小。

相反的,width 不能自適應,鎖死寬度的情況下,當縮小視窗時就會出現 x 軸。
( x軸 = 捲軸 Scrollbar )


▍➍ min-width 屬性

CSS min-width Property

min-width 用來設定元素的最小寬度,當一個容器被設為 min-width: 1000px; 時,容器以及放在容器裡的 <p> 文字段落將被限制在這個最小寬度裡。

而當瀏覽視窗伸縮至小於解析度 1000px 時,帶有 min-width: 1000px; 的容器仍維持它的最小寬度,而瀏覽器則產生捲軸 Scrollbar。


▍@media (max-width: 992px){...}

● 螢幕解析度 ≤ 992px

raw-image

@media (max-width: 992px){...} 表示當螢幕解析度 ≤ 992px 的時候 (螢幕解析度小於 992px、等於 992px 的時候) ,載入這一段語法 → .container{ color: red;} ,而原本的 .container{ color: #000;} 就被覆蓋掉了,文字顏色則從黑色變成紅色。

● 螢幕解析度 ≤ 768px

raw-image

@media (max-width: 768px){...} 表示當螢幕解析度 ≤ 768px 的時候 (螢幕解析度小於 768px、等於 768px 的時候) ,載入這一段語法 → .container{ color: green;} ,而原本的 .container{ color: red;} 就被覆蓋掉了,文字顏色則從紅色變成綠色。


▍@media (min-width: 992px){...}

● 螢幕解析度 ≥ 992px

raw-image

@media (min-width: 992px){...} 表示當螢幕解析度 ≥ 992px 的時候 (螢幕解析度大於 992px、等於 992px 的時候) ,載入這一段語法 → .container{ color: blue;} ,而原本的 .container{ color: #000;} 就被覆蓋掉了,文字顏色則從黑色變成藍色,而當螢幕解析度小於 992px 的時候,文字顏色才變回黑色

小結

我經常會把 max-widthmin-width 記錯,現在要再三刻在腦海裡🔨🔨:

max-width 用來設定元素的最大寬度。
min-width 用來設定元素的最小寬度。
@media (max-width: 992px){...} 當螢幕解析度 ≤ 992px 的時候載入語法。
@media (min-width: 992px){...} 當螢幕解析度 ≥ 992px 的時候載入語法。

本篇也是給自己的認識與釐清,如有錯誤請務必告訴我,感激不盡!

Practice make perfect, 我是正在自我習作中的 Draw,我們下篇見 🙇🏻

avatar-img
5會員
10內容數
從零開始,記錄網頁設計的學習過程。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
學習如何學習 的其他內容
我想分享給那些曾有過相同感受的同學,覺得自己能力不適合、在學習中感到自卑想要放棄的那些時候。而後半篇則想分享自己對於老師、助教的感謝。
本篇為隨筆紀錄,將看完的影片疏理為短小筆記 。 特別有感的是,現在回頭看,發現影片中每個提及的知識點或是誤區自己都踩過好幾輪了,這是在學習及練習中很常會反覆發生、需要注意的地方,提醒自己在接下來的練習中,能將老師提及的思維及作法吸取並應用。
本篇將不同 Sass 學習資源彙整在此,作爲學習筆記,大多來自 w3schools 和六角學院,相關連結也一並記錄下來,以便可以隨時查看、更新。
養成 1px 都不差的切版練習,紀錄我的訓練過程。
本篇習作內容進入到 CSS 排版實作,一起瞭解 Flexbox,開始第一個網頁排版吧 💪🏻!
box-sizing 是 CSS 屬性的一種,它使我們可以改變盒模型的計算方式。
我想分享給那些曾有過相同感受的同學,覺得自己能力不適合、在學習中感到自卑想要放棄的那些時候。而後半篇則想分享自己對於老師、助教的感謝。
本篇為隨筆紀錄,將看完的影片疏理為短小筆記 。 特別有感的是,現在回頭看,發現影片中每個提及的知識點或是誤區自己都踩過好幾輪了,這是在學習及練習中很常會反覆發生、需要注意的地方,提醒自己在接下來的練習中,能將老師提及的思維及作法吸取並應用。
本篇將不同 Sass 學習資源彙整在此,作爲學習筆記,大多來自 w3schools 和六角學院,相關連結也一並記錄下來,以便可以隨時查看、更新。
養成 1px 都不差的切版練習,紀錄我的訓練過程。
本篇習作內容進入到 CSS 排版實作,一起瞭解 Flexbox,開始第一個網頁排版吧 💪🏻!
box-sizing 是 CSS 屬性的一種,它使我們可以改變盒模型的計算方式。
你可能也想看
Google News 追蹤
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
如何透過 CSS 來美化和增強文本的可讀性,對於提升用戶體驗至關重要。本文將介紹如何使用 CSS 來處理網頁上的文本,包括字型設定、文本排列、裝飾等多方面。
Thumbnail
本文將介紹如何使用 CSS Media Queries 來創建適應不同裝置的網頁,在現今多裝置的網頁設計中,可以透過 CSS Media Queries 來讓我們根據不同的裝置特性,如螢幕尺寸、解析度等,來應用不同的樣式規則。
Thumbnail
本文將介紹 CSS 的四個基本概念:margin(外邊距)、padding(內邊距)、border(邊框)和 box-sizing(盒模型),接下來將透過實際的程式碼範例來展示這些概念如何運作。
Thumbnail
本文將介紹 CSS 中的position屬性,position是用於控制網頁元素在頁面上的排列,接下來將逐一介紹position屬性的五種不同值:static, relative, absolute, fixed, 和 sticky,以及它們如何影響元素的排列。
Thumbnail
本文將介紹 CSS Flexbox,CSS Flexbox 是網頁設計的佈局工具,Flexbox 能使元素的排列和對齊變得更加靈活和直觀,從而大大簡化了響應式網頁設計的過程,通過了解 Flexbox 的概念和屬性,你將能夠利用 Flexbox 創建靈活且響應性強的網頁佈局。
Thumbnail
在網頁中,每個按鈕、文字或圖片等都是通過 CSS 來設定它們的樣子,要做到這點,我們就需要用到 CSS 選擇器。本文會從最簡單的選擇器開始講起,讓你了解如何使用 CSS 選擇器。
Thumbnail
想要知道如何用最新技術來製作一個App嗎? 跟著JayLin用React | Redux Tool Kit | TypeScript | TailwildCSS 來製作一個Drawing App
Thumbnail
與HTML不同,CSS是專門修改網頁內容「樣式」的程式語言,也就是說你沒有辦法透過CSS去新增網頁的文字或是圖片等相關的內容,但你可以透過HTML新增網頁內容後,再使用CSS去修改他的樣式,例如⋯⋯
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
如何透過 CSS 來美化和增強文本的可讀性,對於提升用戶體驗至關重要。本文將介紹如何使用 CSS 來處理網頁上的文本,包括字型設定、文本排列、裝飾等多方面。
Thumbnail
本文將介紹如何使用 CSS Media Queries 來創建適應不同裝置的網頁,在現今多裝置的網頁設計中,可以透過 CSS Media Queries 來讓我們根據不同的裝置特性,如螢幕尺寸、解析度等,來應用不同的樣式規則。
Thumbnail
本文將介紹 CSS 的四個基本概念:margin(外邊距)、padding(內邊距)、border(邊框)和 box-sizing(盒模型),接下來將透過實際的程式碼範例來展示這些概念如何運作。
Thumbnail
本文將介紹 CSS 中的position屬性,position是用於控制網頁元素在頁面上的排列,接下來將逐一介紹position屬性的五種不同值:static, relative, absolute, fixed, 和 sticky,以及它們如何影響元素的排列。
Thumbnail
本文將介紹 CSS Flexbox,CSS Flexbox 是網頁設計的佈局工具,Flexbox 能使元素的排列和對齊變得更加靈活和直觀,從而大大簡化了響應式網頁設計的過程,通過了解 Flexbox 的概念和屬性,你將能夠利用 Flexbox 創建靈活且響應性強的網頁佈局。
Thumbnail
在網頁中,每個按鈕、文字或圖片等都是通過 CSS 來設定它們的樣子,要做到這點,我們就需要用到 CSS 選擇器。本文會從最簡單的選擇器開始講起,讓你了解如何使用 CSS 選擇器。
Thumbnail
想要知道如何用最新技術來製作一個App嗎? 跟著JayLin用React | Redux Tool Kit | TypeScript | TailwildCSS 來製作一個Drawing App
Thumbnail
與HTML不同,CSS是專門修改網頁內容「樣式」的程式語言,也就是說你沒有辦法透過CSS去新增網頁的文字或是圖片等相關的內容,但你可以透過HTML新增網頁內容後,再使用CSS去修改他的樣式,例如⋯⋯