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

更新於 發佈於 閱讀時間約 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
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
在本章中,我們探討了CSS Grid佈局的基本概念和應用。CSS Grid提供了一個強大而靈活的二維佈局系統,使得處理複雜的網頁佈局變得更加簡單和直觀。我們學習了如何設置Grid容器和Grid項目,以及如何使用各種Grid屬性來定義和管理佈局。
Thumbnail
CSS 盒模型是理解和設計網頁佈局的核心概念。它包括元素的內容、填充、邊框和外邊距。
Thumbnail
CSS入門-Day3 的主要內容包括字體大小、字體顏色、字體系列、字體樣式、字體粗細等屬性。此外,還涵蓋了文本對齊、行高、文字間距、單詞間距和文本裝飾。最後,介紹了如何引入和使用 Google 字體,以提高網頁的排版效果。
Thumbnail
這節課的學習目標是了解 CSS 的基本語法結構和使用方法。
Thumbnail
CSS 是控制網頁外觀的語言,應用於網頁設計、UI/UX 設計、電子商務和移動應用開發。主要使用者包括前端開發者、UI/UX 設計師和網頁設計師。CSS 的特性有樣式控制、層疊優先級、響應式設計及分離內容與樣式。
Thumbnail
在學習 CSS 的過程中,Padding 與 Margin 是兩個經常出現的名詞,但對於初學者來說,可能會有些難以理解。因此,本篇文章將解釋這兩個非常重要的 CSS 屬性。當你掌握後,便能設計出更具層次或易讀的網頁。
圖片大小 漂亮的圖片讓人賞心悅目,對網站美化也是一大加分項,但若是為了呈現自家商品或吸引人的圖片搭配文字,而塞進過量的圖片,導致網站本身太重跑得太慢,容易使客人失去耐性。|SEO工具 隨著時代的進步網路速度也與時俱進,但若網站本身太重,就算網路狀況再良好也無法馬上將網站載好,根據統計,大多數人的
1.justify-content 用來控制主軸(水平)如何分配對齊 如果要改垂直對齊的話+上 flex-direction : column 2.align-item 他是控制子項目再交叉軸(垂直)的對齊方式 3.flex-shrink 收縮性! 當空間不足時預設會是1,等於是
CSS Box Model 是在 CSS 裡面,html 的每個元素都可被視作為一個盒子,然後可以針對這個盒子去做調整,看以下圖片: 簡單來說margin就是一個是外邊距,與外層元素的間距 Margin 用於控制元素與其周邊元素的間隔,可以設定為正數(增加與其他元素的距離)、負數(減少與其他
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
在本章中,我們探討了CSS Grid佈局的基本概念和應用。CSS Grid提供了一個強大而靈活的二維佈局系統,使得處理複雜的網頁佈局變得更加簡單和直觀。我們學習了如何設置Grid容器和Grid項目,以及如何使用各種Grid屬性來定義和管理佈局。
Thumbnail
CSS 盒模型是理解和設計網頁佈局的核心概念。它包括元素的內容、填充、邊框和外邊距。
Thumbnail
CSS入門-Day3 的主要內容包括字體大小、字體顏色、字體系列、字體樣式、字體粗細等屬性。此外,還涵蓋了文本對齊、行高、文字間距、單詞間距和文本裝飾。最後,介紹了如何引入和使用 Google 字體,以提高網頁的排版效果。
Thumbnail
這節課的學習目標是了解 CSS 的基本語法結構和使用方法。
Thumbnail
CSS 是控制網頁外觀的語言,應用於網頁設計、UI/UX 設計、電子商務和移動應用開發。主要使用者包括前端開發者、UI/UX 設計師和網頁設計師。CSS 的特性有樣式控制、層疊優先級、響應式設計及分離內容與樣式。
Thumbnail
在學習 CSS 的過程中,Padding 與 Margin 是兩個經常出現的名詞,但對於初學者來說,可能會有些難以理解。因此,本篇文章將解釋這兩個非常重要的 CSS 屬性。當你掌握後,便能設計出更具層次或易讀的網頁。
圖片大小 漂亮的圖片讓人賞心悅目,對網站美化也是一大加分項,但若是為了呈現自家商品或吸引人的圖片搭配文字,而塞進過量的圖片,導致網站本身太重跑得太慢,容易使客人失去耐性。|SEO工具 隨著時代的進步網路速度也與時俱進,但若網站本身太重,就算網路狀況再良好也無法馬上將網站載好,根據統計,大多數人的
1.justify-content 用來控制主軸(水平)如何分配對齊 如果要改垂直對齊的話+上 flex-direction : column 2.align-item 他是控制子項目再交叉軸(垂直)的對齊方式 3.flex-shrink 收縮性! 當空間不足時預設會是1,等於是
CSS Box Model 是在 CSS 裡面,html 的每個元素都可被視作為一個盒子,然後可以針對這個盒子去做調整,看以下圖片: 簡單來說margin就是一個是外邊距,與外層元素的間距 Margin 用於控制元素與其周邊元素的間隔,可以設定為正數(增加與其他元素的距離)、負數(減少與其他