搜尋
首頁web前端css教學css中px、em和rem的區別

css中px、em和rem的區別

Feb 27, 2017 am 09:42 AM
cssempxrem

前言

em 和rem 都是靈活可擴展的單位,由瀏覽器轉換為像素值,取決於設計中的字體大小,如果使用值1em或1rem ,它可以被瀏覽器轉換為從16px 到160px 或其他任意值。瀏覽器使用 1px ,那麼 1px 總是顯示為完全 1px。

em 和rem 的相同點

使用em 和rem 單位可以讓我們的設計更加靈活,能夠控制元素整體放大縮小,而不是固定大小

em 和rem 區別

##差異是瀏覽器根據誰來轉換成px 值

rem 單位如何轉換為像素值

當使用rem 單位,他們轉換成像素大小取決於頁根元素的字體大小,也就是html 元素的字體大小。 根元素字體大小乘以你 rem 值。


例如,根元素的字體大小 16px,10rem 將等同於 160px,即 10 x 16 = 160。

em 單位如何轉換為像素值

當使用em單位時,像素值將是 em 值乘以使用 em 單位的元素的字體大小。例如,如果一個 p 有 18px 字體大小,10em 將等同於 180px,即 10 × 18 = 180。

重點理解:

有一個比較普遍的誤解,認為 em 單位是相對於父元素的字體大小。 事實上,根據W3標準 ,它們是相對於使用em單位的元素的字體大小。父元素的字體大小可以影響 em 值,但這種情況的發生,純粹是因為繼承。 讓我們看看為什麼以及如何運作。

你需要知道的:

根 html 元素將繼承瀏覽器中設定的字體大小,除非明確設定固定值去覆蓋。所以 html 元素的字體大小雖然是直接確定 rem 值,但字體大小可能首先來自瀏覽器設定。因此瀏覽器的字體大小設定可以影響每個使用 rem 單元以及每個透過 em 單位繼承的值。

總結與rem 差異em

上述所有歸結如下:

  1. rem 單位翻譯為像素值是由html 元素的字體大小決定的。 此字體大小會被瀏覽器中字體大小的設定影響,除非明確重寫特定單位。


  2. em 單位轉為像素值,取決於他們使用的字體大小。 此字體大小受從父元素繼承過來的字體大小,除非明確重寫與一個具體單位。


為什麼使用rem 單位:

Rem 單位提供最偉大的力量並不僅僅是他們提供一致尺寸而不是繼承。 相反,它給我們的一個途經去獲取用戶的偏好來影響網站中每一處使用rem的元素大小,不再是使用固定的 px 單位。

為此,使用 rem 單位的主要目的應該是確保無論使用者如何設定自己的瀏覽器,我們的佈局都能調整到適當大小。

為什麼使用 em 單位

em 單位取決於一個font-size值而不是 html 元素的字體大小。


為此,em 單位的主要目的應該是允許保持在一個特定的設計元素範圍內的可擴展性。


例如,您可能使用em 值設定導覽選單項目的padding、 margin,line-height等值。帶有0.9rem 字體大小的選單


透過這種方式,如果您變更選單的字體大小選單項目周圍的間距將在剩餘的空間中按比例縮放。

總結

rem 和 em 單位是由瀏覽器基於你的設計中的字體大小計算得到的像素值。


em 單位是基於使用他們的元素的字體大小。


rem 單位是基於 html 元素的字體大小。


em 單位可能受任何繼承的父元素字體大小影響


#rem 單位可以從瀏覽器字體設定中繼承字體大小。

使用 em 單位應根據組件的字體大小而不是根元素的字體大小。

在不需要使用em單位,並且需要根據瀏覽器的字體大小設定縮放的情況下使用rem。


使用rem單位,除非你確定你需要 em 單位,包括對字體大小。


媒體查詢中使用 rem 單位


不要在多列佈局中使用 em 或 rem -改用 %。


不要使用 em 或 rem,如果縮放會不可避免地導致要打破佈局元素。

更多css中px、em和rem的區別相關文章請關注PHP中文網!


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
錨定位只是不關心來源訂單錨定位只是不關心來源訂單Apr 29, 2025 am 09:37 AM

錨定定位避開HTML源順序的事實是如此之高,因為它在內容和演示文稿之間的另一個關注點是另一個分離的事實。

保證金是什麼:40px 100px 120px 80px表示?保證金是什麼:40px 100px 120px 80px表示?Apr 28, 2025 pm 05:31 PM

文章討論了CSS保證金屬性,特別是“保證金:40px 100px 120px 80px”,其應用程序以及對網頁佈局的影響。

什麼是不同的CSS邊框特性?什麼是不同的CSS邊框特性?Apr 28, 2025 pm 05:30 PM

本文討論了CSS邊境屬性,重點是自定義,最佳實踐和響應能力。主要論點:邊境 - 拉迪烏斯(Border-Radius)對響應式設計最有效。

什麼是CSS背景,列出屬性?什麼是CSS背景,列出屬性?Apr 28, 2025 pm 05:29 PM

本文討論了CSS背景屬性,它們在增強網站設計方面的用途以及避免的常見錯誤。重點是使用背景大小的響應式設計。

什麼是CSS HSL顏色?什麼是CSS HSL顏色?Apr 28, 2025 pm 05:28 PM

文章討論了CSS HSL顏色,其在網絡設計中的使用以及比RGB的優勢。主要重點是通過直觀的顏色操縱來增強設計和可訪問性。

我們如何在CSS中添加評論?我們如何在CSS中添加評論?Apr 28, 2025 pm 05:27 PM

本文討論了CSS中評論的使用,詳細介紹了單線和多行評論語法。它認為註釋可以增強代碼的可讀性,可維護性和協作,但如果無法正確管理,可能會影響網站性能。

什麼是CSS選擇器?什麼是CSS選擇器?Apr 28, 2025 pm 05:26 PM

本文討論了CSS選擇器,其類型和用於造型HTML元素的用法。它比較ID和類選擇器,並與復雜的選擇器解決性能問題。

哪種類型的CSS持有最高優先級?哪種類型的CSS持有最高優先級?Apr 28, 2025 pm 05:25 PM

本文討論了CSS優先級,重點是具有最高特異性的內聯風格。它解釋了特異性級別,覆蓋方法和用於管理CSS衝突的工具。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能