搜尋
首頁web前端css教學css如何使用Rem佈局實現自適應效果

css如何使用Rem佈局實現自適應效果

為什麼要自適應?

例如,對於一個行動裝置頁面,設計師給的視覺稿畫布寬 750,視覺稿中的一個黃色區塊的尺寸是 702 x 300,並在畫板中居中。我們希望在任何一個裝置中的呈現比例都與視覺稿中一樣,根據佈局視窗寬度等比縮放。

css如何使用Rem佈局實現自適應效果

在行動端我們一般會設定佈局視窗寬度=裝置寬度,也就是內容呈現的區域在裝置螢幕內。

<meta name="viewport" content="width=device-width, initial-scale=1.0">

但不同裝置的寬度不同,因而讓佈局視窗的寬度也不同。例如 iPhone 6 的版面視窗寬度為 375, iPhone6 Plus 版面視窗的寬度為 414。

(相關影片教學建議:css影片教學

對於給定的畫布寬750 的視覺稿,如果在版面視窗寬度為375 的iPhone 6裝置上呈現,我們可以將視覺稿中元素的像素值除以2,程式碼如下:

.box{
    width: 351px;
    height: 150px;
    margin-top: 40px;
    background: #F5A623;
}

那麼在iPhone 6 中的呈現如右圖,與左圖視覺稿佈局一致。

css如何使用Rem佈局實現自適應效果

但同樣的程式碼,在  iPhone 6 Plus 中呈現的就不一樣了,兩側間距變大。因為  iPhone 6 Plus 的佈局視窗比 iPhone 6 要寬,而矩形框的尺寸沒有變, 依然是 315 x 150。

css如何使用Rem佈局實現自適應效果

對於給定的畫布寬750 的視覺稿,如果在佈局視口寬度為414 的iPhone 6 Plus 裝置上呈現,我們可以將視覺稿中元素的像素值按比例除以(750 / 414),即:

.box{
    width: 387.5px;
    height: 165.6px;
    margin-top: 44.2px;
    background: #F5A623;
}

頁面呈現效果也可以跟視覺稿一樣了。

css如何使用Rem佈局實現自適應效果

為了在不同裝置寬度(不同視窗寬度)的頁面中呈現效果跟視覺稿一樣,需要寫不同的 CSS 像素值。我們的訴求是希望能用同樣的CSS 程式碼在不同寬度的裝置上展現效果與視覺稿相同,通俗的說就是按照視覺稿中元素與畫布的尺寸比例在不同裝置上等比縮放,從而達到在不同設備上自適應的效果。

使用Rem 佈局解決自適應問題

如何使用同一份CSS 程式碼,使元素尺寸隨著佈局視窗寬度的變化按視覺稿中的比例等比縮放?

我們結合 CSS 中相對單位 rem 的特性,rem 單位的像素值是相對於根元素(HTML 元素) 的 font-size 的。例如:HTML 的 font-size 為 100px, 在 CSS 樣式中設定某一元素的寬度為 2rem, 那麼此元素在頁面中的寬度為 200px。

根據元素在視覺稿中的比例等比縮放找到這樣一層關係:

视觉稿元素尺寸 / 视觉稿画布宽度  
= (rem 值 * HTML 元素的 font-size) / 布局视口宽度 
= rem 值 * (HTML 元素的 font-size / 布局视口宽度)
= rem 值 / (布局视口宽度  /  HTML 元素的 font-size)

如果:

布局视口宽度  /  HTML 元素的 font-size = 定值 N

就可以用同一份CSS 程式碼實現在任何設備中自適應。

rem 值 = N * (视觉稿元素尺寸 / 视觉稿画布宽度 )

所以,我們只要確定一個N 值,再完成兩步,即可實現自適應:

第1 步:動態設定 HTML 元素的font-size = 佈局視窗寬度/ N

第2 步:將視覺稿中導出的元素CSS 像素值轉換成rem 單位: rem 值= N * (視覺稿元素尺寸/ 視覺稿畫布寬度)

#假如您的視覺稿畫布寬度是750,為了方便rem 值的計算, 您可以選擇設定N = 7.5, 這樣只需要將視覺稿中的尺寸值除以100 就可以得到rem 單位的CSS 像素值。

推薦教學:CSS入門教學

#

以上是css如何使用Rem佈局實現自適應效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:脚本之家。如有侵權,請聯絡admin@php.cn刪除
這麼多顏色鏈接這麼多顏色鏈接Apr 13, 2025 am 11:36 AM

最近有一系列有關顏色的工具,文章和資源。請允許我通過將它們四捨五之後關閉幾個標籤,以供您享受。

自動利潤在Flexbox中的工作方式自動利潤在Flexbox中的工作方式Apr 13, 2025 am 11:35 AM

羅賓以前已經介紹過這一點,但是我在過去的幾周里聽到了一些關於它的困惑,看到另一個人在解釋它,我想

移動彩虹移動彩虹Apr 13, 2025 am 11:27 AM

我絕對喜歡三明治網站的設計。在許多美麗的功能中,這些標題是滾動時帶有彩虹的下線。它不是

新年,新工作?讓我們做一個網格驅動的簡歷!新年,新工作?讓我們做一個網格驅動的簡歷!Apr 13, 2025 am 11:26 AM

許多流行的簡歷設計通過以網格形狀鋪設部分來充分利用可用的頁面空間。讓我們使用CSS網格創建一個佈局

將用戶擺脫過多習慣的一種方法將用戶擺脫過多習慣的一種方法Apr 13, 2025 am 11:25 AM

頁面重新加載是一回事。有時,當我們認為它沒有響應或認為新內容可用時,我們會刷新頁面。有時我們只是生氣

域驅動的設計與React域驅動的設計與ReactApr 13, 2025 am 11:22 AM

關於如何在React世界中組織前端應用的指導很少。 (只需移動文件,直到“感覺正確”,大聲笑)。真相

檢測非活動用戶檢測非活動用戶Apr 13, 2025 am 11:08 AM

大多數情況下,您並不真正在乎用戶是否積極參與或暫時非活動。不活躍,意思,也許他們

Wufoo ZapierWufoo ZapierApr 13, 2025 am 11:02 AM

Wufoo一直在集成方面非常出色。他們與特定應用程序(例如廣告系列顯示器,MailChimp和Typekit)進行集成,但他們也

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脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

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

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),