px、em、rem、%、vw、wh、vm等單位有什麼區別?

来源:https://www.cnblogs.com/jnshu/archive/2018/12/13/10114738.html
-Advertisement-
Play Games

這裡是修真院前端小課堂,每篇分享文從 【背景介紹】【知識剖析】【常見問題】【解決方案】【編碼實戰】【擴展思考】【更多討論】【參考文獻】 八個方面深度解析前端知識/技能,本篇分享的是: 【px、em、rem、%、vw、wh、vm等單位有什麼區別?】 1.背景介紹傳統的項目開發中,我們只會用到px、%、 ...


這裡是修真院前端小課堂,每篇分享文從

【背景介紹】【知識剖析】【常見問題】【解決方案】【編碼實戰】【擴展思考】【更多討論】【參考文獻】

八個方面深度解析前端知識/技能,本篇分享的是:

【px、em、rem、%、vw、wh、vm等單位有什麼區別?】

 
1.背景介紹
傳統的項目開發中,我們只會用到px、%、em這幾個單位,它可以適用於大部分的項目開發,並且擁有比較良好的相容性。但是你知道嗎?從css3開始,瀏覽器對邏輯單位的支持又提升到了另外一個境界,增加了rem、vh、vw、vm等一些新的長度單位,我們可以利用這些新的單位開發出比較良好的響應式頁面,隨之覆蓋多種不同解析度的終端,包括移動設備等。現在讓我們來看下這些長度單位有什麼區別。

2.知識剖析
1、px

px就是pixel的縮寫,意為像素。px就是一張圖片最小的一個點,一張點陣圖就是千千萬萬的這樣的點構成的,比如常常聽到的電腦像素是1024x768的,表示的是水平方向是1024個像素點,垂直方向是768個像素點。

相容性:

2、em

參考物是父元素的font-size,具有繼承的特點。如果自身定義了font-size按自身來計算(瀏覽器預設字體是16px),整個頁面內1em不是一個固定的值。

相容性:

 

3、rem

css3新單位,相對於根元素html(網頁)的font-size,不會像em那樣,依賴於父元素的字體大小,而造成混亂。

相容性:

 

4、%

一般寬泛的講是相對於父元素,但是並不是十分準確。

1、對於普通定位元素就是我們理解的父元素

2、對於position: absolute;的元素是相對於已定位的父元素

3、對於position: fixed;的元素是相對於ViewPort(可視視窗)

相容性:

 

3、vw

css3新單位,viewpoint width的縮寫,視窗寬度,1vw等於視窗寬度的1%。

舉個例子:瀏覽器寬度1200px, 1 vw = 1200px/100 = 12 px。

相容性:

 

4、vh

css3新單位,viewpoint height的縮寫,視窗高度,1vh等於視窗高度的1%。

舉個例子:瀏覽器高度900px, 1 vh = 900px/100 = 9 px。

相容性:

 

4、vm

css3新單位,相對於視口的寬度或高度中較小的那個。其中最小的那個被均分為100單位的vm

舉個例子:瀏覽器高度900px,寬度1200px,取最小的瀏覽器高度,1 vm = 900px/100 = 9 px。

由於現在vm的相容性較差,這裡就不做展示了。

你隨便轉,比例變了算我輸

3.常見問題
vh vw vm實際應用場景?

4.解決方案
vh vw是不包含頁面滾動條的視窗寬度(innerwidth),%包含了滾動條的寬度在裡面了(outerwidth)。

一般的情況下%就可以滿足大部分自適應設計的需求,可以用height:100vh做一個高度占滿屏幕的自適應,沒有滾動條。

用vw,vh設定的大小隻和視窗大小有關,所以用來開發多種屏幕設備的應用用這個單位還是挺合適的。

5.編碼實戰
點擊這裡

6.擴展思考
css還有哪些長度單位?

in:寸

cm:釐米

mm:毫米

t:point,大約1/72寸

pc:pica,大約6pt,1/6寸

1in = 2.54cm = 25.4 mm = 72pt = 6pc = 96px

7.參考文獻
參考一:你知道這7個css單位麽

參考二:CSS長度單位值測試實例頁面

 

 

“我們相信人人都可以成為一個工程師,現在開始,找個師兄,帶你入門,學習的路上不再迷茫。

這裡是技能樹.IT修真院:http://www.jnshu.com,初學者轉行到互聯網行業的聚集地。"

歡迎加IT交流群565734203與大家一起討論交流


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文主要介紹了vue-router相關基礎知識及單頁面應用的工作原理,寫的十分的全面細緻,具有一定的參考價值,對此有需要的朋友可以參考學習下。如有不足之處,歡迎批評指正。 單頁面工作原理是通過瀏覽器URL的#後面的hash變化就會引起頁面變化的特性來把頁面分成不同的小模塊,然後通過修改hash來讓頁 ...
  • 移動端的項目經常會引入手勢庫來實現拖拽 不過如果只是一兩個頁面用到拖拽,再引入一個手勢庫就很不划算 最近的項目中就有這麼一個需求: 因為就這一個地方需要拖拽,所以我就沒有引入第三方庫 移動端的拖拽有兩種主流的實現方案: 1. 將元素設置為固定定位,然後在拖拽的時候修改其定位,實現拖拽的效果; 這種 ...
  • Carousel 走馬燈源碼分析整理筆記,這篇寫的不詳細,後面有空補充 main.vue item.vue ...
  • 這裡是修真院前端小課堂,每篇分享文從 【背景介紹】【知識剖析】【常見問題】【解決方案】【編碼實戰】【擴展思考】【更多討論】【參考文獻】 八個方面深度解析前端知識/技能,本篇分享的是: 【什麼是jsp?jsp的內置對象有哪些?】 1、背景介紹 百度百科是這麼介紹jsp的:“jsp是一種動態網頁技術標準 ...
  • 這裡是修真院前端小課堂,每篇分享文從 【背景介紹】【知識剖析】【常見問題】【解決方案】【編碼實戰】【擴展思考】【更多討論】【參考文獻】 八個方面深度解析前端知識/技能,本篇分享的是: 【瀏覽器如何渲染頁面?】 一、背景介紹瀏覽器是前端工程師或頁面重構師工作中必不可少的,WEB頁面運行在各種各樣的瀏覽 ...
  • 一、路由進階Egg路由的路由重定向,路由分組 在router.js修改為如下格式require引用 新建 routers文件夾,分別建admin.js index.js api.js放置不同內容,寫法和原來的路由文件寫法一致。 路由重定向 在Controller中使用 在routers文件中使用 二 ...
  • 這裡是修真院前端小課堂,每篇分享文從 【背景介紹】【知識剖析】【常見問題】【解決方案】【編碼實戰】【擴展思考】【更多討論】【參考文獻】 八個方面深度解析前端知識/技能,本篇分享的是: 【post提交的數據有哪幾種編碼格式?能否通過URL參數獲取用戶賬戶密碼】 1.背景介紹 HTTP/1.1 協議規定 ...
  • 這裡是修真院前端小課堂,每篇分享文從 【背景介紹】【知識剖析】【常見問題】【解決方案】【編碼實戰】【擴展思考】【更多討論】【參考文獻】 八個方面深度解析前端知識/技能,本篇分享的是: 【常見的DOM操作有哪些】 1.背景介紹 什麼是DOM?簡單地說,DOM是一套對文檔的內容進行抽象和概念化的方法 在 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...