我要成為切版魔法師 #2 - 讓圖片乖乖聽話的 3 種方法

更新於 發佈於 閱讀時間約 3 分鐘

圖片可以說是 HTML 元素中以不受控出名的元素了,在預設情況下,完全不受父容器影響,以下就來看看有哪些方法讓圖片依照你的想法變化吧。

依據不同目的,設定 img 圖片標籤

一、圖片會填滿父容器,但有機會導致父容器有留白

在 img 標籤設定 max-width: 100%,這個語法的意思是:

  1. 它會填滿父容器,同時不會超出自己的圖片尺寸、導致模糊
  2. 如上面特點,不會超出圖片本身像素,即代表有機會導致圖片沒有填滿父容器、出現留白。發生這種事情時,通常代表的是圖片輸出不夠大張,像素不夠。

有時候​需要強制讓圖片撐滿整個空間,這時候就可以使用第二個方法。

二、讓圖片強制填滿父層、且不變形

在 img 標籤設定 width: 100%object-fit: cover

  • width: 100%:讓圖片完全填滿父容器。
  • object-fit: cover:圖片會填滿父容器,但不會變形。
  • 有時候會搭配 object-position 語法調整圖片位置(要顯示圖片的哪個部分)。

需要注意的是,如果圖片有設定 max-width: 100%,那麼 object-fit: cover 就不會有作用囉,因為前者的語法已經將圖片設定成不會超出本身的尺寸了。

三、在 HTML 文件中將 img 設定基本寬高

透過 img 標籤的屬性 width 和 height 設定圖片寬高,因為並不是設定在 style 裡面,所以不會有 CSS 權重的問題

<img width="40px"​ height="40px" alt="logo">

但這個方法有幾個需要注意的地方:

  1. 製作 RWD 較為不便,還是需要進到 CSS 裡面設定,較適合使用在網頁中的小圖示上
  2. 經常會導致圖片變形,需要搭配 object-fit: cover 語法

我自己的經驗是,圖片大多會先採用第一種寫法,若有特殊需求就會再額外設定第二種寫法,然後在小圖示上斟酌使用第三種寫法。

額外討論1:background-image 與 img 的使用情況

通常會將網頁中有意義的圖片使用 img 標籤表示,因為這時才有語意化的含義,而裝飾元素就會使用 CSS 語法 background-image 放入網頁中。

background-image 相關屬性有:

  • background-image:引入圖片路徑
  • background-position:指定圖片位置(想顯示圖片哪個部分)
  • background-size:指定圖片尺寸
  • background-repeat:預設值為 repeat,若要圖片不再重複出現要設定 no-repeat

若使用這個方法,因為這個放置圖片的方式是依附在元素上,本身無法撐出寬高,需要在元素額外設定寬高,圖片才會正常顯示。

background-image 的好處是製作 RWD 很方便,有時候圖片變化較大,需要額外替換圖檔,這時候直接使用 media query 和改變 background-image 圖片路徑即可,只是這樣就沒有像 img 標籤有語意化的效果了。

額外討論2:如果要使用 img 標籤達到 RWD 效果呢?

可以搭配 picturesource 標籤,這部分還蠻多設定的,之後會再寫一篇文章介紹。

希望看完這篇文章,大家都能隨心所欲控制網頁中的圖片囉!


avatar-img
7會員
30內容數
正在一點一滴學習程式,相信知識量總有一天會匯聚成大海,目前專門研究前端中。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
傑米的沙龍 的其他內容
網頁中經常會出現正方形的設計,在切版時如果直接設定固定寬高就是破版的節奏,但單用百分比設定長寬,RWD 時還是會變得不夠正,這邊提供兩個方法:
網頁中經常會出現正方形的設計,在切版時如果直接設定固定寬高就是破版的節奏,但單用百分比設定長寬,RWD 時還是會變得不夠正,這邊提供兩個方法:
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
CSS 盒模型是理解和設計網頁佈局的核心概念。它包括元素的內容、填充、邊框和外邊距。
CSS Box Model 是在 CSS 裡面,html 的每個元素都可被視作為一個盒子,然後可以針對這個盒子去做調整,看以下圖片: 簡單來說margin就是一個是外邊距,與外層元素的間距 Margin 用於控制元素與其周邊元素的間隔,可以設定為正數(增加與其他元素的距離)、負數(減少與其他
Thumbnail
當今的數位設計世界裡,清晰地呈現視覺元素是至關重要的。無論是在創建網站、設計海報,還是製作社交媒體內容,精準地移除圖像背景或不必要的像素,可以顯著提升作品的視覺效果和專業度。本文將介紹幾種在Adobe Photoshop中去除背景的高效方法,以及如何在Adobe Illustrator和InDesi
Thumbnail
CSS 裡的「寬度,最大寬度,最小寬度」分別是什麼呢? ➊ width 用來設定元素的寬度,且 width 作用範圍僅在 content-box 區塊 ➋ max-width → 用來設定元素的最大寬度 ➌ min-width → 用來設定元素的最小寬度
Thumbnail
幾乎所有的網站都一定會用到圖片和 icon,甚至可能會需要載入大量的圖片,它們也是網站中佔比最多的資源,所以透過優化這些圖片資源,就可能帶來很大的效能提升。
Thumbnail
在開發應用程式時,經常會遇到需要調整圖片大小以節省空間或加快加載速度的情況。本教學將介紹如何使用 C# 語言來壓縮圖片並調整其大小,以便在應用程式中使用。
Thumbnail
背景(background)是 CSS 中最常用的功能之一,本文將介紹如何使用 CSS 來設定網頁背景,讓你的網站更加美觀。
Thumbnail
前篇測試如何把提示詞生成的圖像細節提高,這篇要測試的工作流是把任意圖像載入後經由放大模型放大,同時測試放大後重繪看看效果如何。
Thumbnail
本文介紹四種簡單有效的設計方法,包括使用幾何圖形填滿空白、重複使用文字填充版面、用十字線引導視覺、用對角線創造動感。這些方法可以有效解決版面太空的問題。舉例證明瞭這些方法在海報設計和網站設計中的應用。最後作者鼓勵讀者去摸索嘗試,提供自己的設計風格,並同時推薦了使用社群繪畫經營工具的人參考。
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
CSS 盒模型是理解和設計網頁佈局的核心概念。它包括元素的內容、填充、邊框和外邊距。
CSS Box Model 是在 CSS 裡面,html 的每個元素都可被視作為一個盒子,然後可以針對這個盒子去做調整,看以下圖片: 簡單來說margin就是一個是外邊距,與外層元素的間距 Margin 用於控制元素與其周邊元素的間隔,可以設定為正數(增加與其他元素的距離)、負數(減少與其他
Thumbnail
當今的數位設計世界裡,清晰地呈現視覺元素是至關重要的。無論是在創建網站、設計海報,還是製作社交媒體內容,精準地移除圖像背景或不必要的像素,可以顯著提升作品的視覺效果和專業度。本文將介紹幾種在Adobe Photoshop中去除背景的高效方法,以及如何在Adobe Illustrator和InDesi
Thumbnail
CSS 裡的「寬度,最大寬度,最小寬度」分別是什麼呢? ➊ width 用來設定元素的寬度,且 width 作用範圍僅在 content-box 區塊 ➋ max-width → 用來設定元素的最大寬度 ➌ min-width → 用來設定元素的最小寬度
Thumbnail
幾乎所有的網站都一定會用到圖片和 icon,甚至可能會需要載入大量的圖片,它們也是網站中佔比最多的資源,所以透過優化這些圖片資源,就可能帶來很大的效能提升。
Thumbnail
在開發應用程式時,經常會遇到需要調整圖片大小以節省空間或加快加載速度的情況。本教學將介紹如何使用 C# 語言來壓縮圖片並調整其大小,以便在應用程式中使用。
Thumbnail
背景(background)是 CSS 中最常用的功能之一,本文將介紹如何使用 CSS 來設定網頁背景,讓你的網站更加美觀。
Thumbnail
前篇測試如何把提示詞生成的圖像細節提高,這篇要測試的工作流是把任意圖像載入後經由放大模型放大,同時測試放大後重繪看看效果如何。
Thumbnail
本文介紹四種簡單有效的設計方法,包括使用幾何圖形填滿空白、重複使用文字填充版面、用十字線引導視覺、用對角線創造動感。這些方法可以有效解決版面太空的問題。舉例證明瞭這些方法在海報設計和網站設計中的應用。最後作者鼓勵讀者去摸索嘗試,提供自己的設計風格,並同時推薦了使用社群繪畫經營工具的人參考。