css樣式布局及rem用法梳理

一 視口概念

視口(viewport)是用來約束網(wǎng)頁中最頂級塊元素的,即它決定了網(wǎng)頁的大小,網(wǎng)頁是先在視口上渲染,然后再通過視口放回到瀏覽器窗口上的,網(wǎng)頁的渲染過程如下:

image.png

pc端視口的大小和瀏覽器的大小一樣,所以網(wǎng)頁是1:1的放到瀏覽器窗口上,而移動端視口就有點特殊,移動端視口的寬度是比移動端屏幕要寬,寬度尺寸一般是980px或者1024px,網(wǎng)頁是視口上渲染完之后,為了能在移動端屏幕上顯示整個網(wǎng)頁,整個視口會整體縮放到屏幕的寬度,這樣,網(wǎng)頁看上去就整體縮放

具體如何設置視口以及禁止視口頁面縮放可以自行百度

二 css樣式布局總結(jié)

(主要針對移動端以及pc端網(wǎng)頁需要實現(xiàn)等比放大縮小頁面效果)

大概有以下幾種

1、流體布局
流體布局其實就是寬度用百分比,高度用固定值的布局方式,寬度通過百分比來適配不同寬度的屏幕。

為了適配手機端不同尺寸的屏幕,我們在定義元素寬度的時候可以寫百分比,百分比是相對于屏幕的寬度,所有寬度就可以做到自適應,而在高度方向,由于網(wǎng)頁的高度是不定的,所以我們可以把高度寫成固定的值(px),這種布局方式叫做流體布局。

注意兩個概念

1、box-sizing: border-box;
將盒子設置成border-box,這個時候,width和height的尺寸就是盒子的真實尺寸, 盒子加邊框和內(nèi)邊距都不會改變盒子尺寸。

2、width:calc(25% - 2px);
使用calc屬性,將寬度尺寸設置為動態(tài)計算后的尺寸,這樣就可以完成適配。

2、彈性盒模型布局flex
這種布局方式是通過css3新增的一些輔助布局的樣式屬性來制作布局的方式。

3、rem布局
rem是一種相對長度單位,通過這個長度單位可以實現(xiàn)元素寬高等比例縮放,從而完成不同寬度屏幕的適配。

4、響應式布局 (媒體查詢)
通過樣式動態(tài)查詢屏幕的寬度,動態(tài)切換樣式來適配不同寬度屏幕的布局方式。
Bootstrap是最典型的一種

待補充

三 rem布局原理和使用技巧(實現(xiàn)頁面自適應)

實際開發(fā)中,pc端頁面需要實現(xiàn)響應式等比縮放(即自適應),使用rem+彈性布局是比較現(xiàn)實及理想的解決方式
移動端可以使用rem布局,也可以使用px實現(xiàn)(主要用flex),具體看產(chǎn)品是怎么設計要求的

rem 主要是為了解決字體隨屏幕變化,flex上的高度問題,實現(xiàn)高度和寬度等比例縮放

概念解釋

css3規(guī)定:1rem的大小就是根元素<html>的font-size的值。

rem其實是一個單位 ,是個相對單位 root em。rem就是root(根元素的大?。┫鄬τ趆tml元素的字體大小的單位。

區(qū)別em
em指的是父級字體大小,1em是父級字體大小的font-size的值

rem布局的原理
就是根據(jù)一個html根元素來控制,網(wǎng)頁的布局,實現(xiàn)類似于自適應等比例的縮放的布局。

rem優(yōu)勢
通過修改html文字的大小,來改變頁面中元素的大小,實現(xiàn)了頁面的整體控制

rem的作用
通過設置 根元素<html>的font-size的大小,來控制整個html文檔內(nèi)的字體大小、元素寬高、內(nèi)外邊距等,根據(jù)移動設備的寬度大小來實現(xiàn)自適應,不同的設備都展示一致的頁面效果。

簡單用法

       html {
            font-size: 12px;
        }
        div {
            font-size: 12px;
            width: 15rem;
            height: 15rem;
            background-color: purple;
        }

明確html的font-size大小的情況下如何設置rem自動計算

vscode中安裝cssrem插件,通過這個插件可以自動計算rem數(shù)值。
具體設置如下


image.png

注意:設置后 vscode軟件需要重啟 否則計算的rem值會出錯

如何確定給根元素多大的rem(重點)

待補充

動態(tài)改變html文字大小(重點)

可以通過js的方式來改變,也可以通過css媒體查詢的方式來改變,

待補充

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容