移動手機版要求我們在制作嵌入h5的時候去適配不同的手機。適配有多重模式,有flex、百分比等。字體大小的控制也有px、百分比、rem等單位,webpack中 px轉rem。
vue項目中postcss-pxtorem的使用及webpack中的配置 css中單位px和em,rem的區別
1 安裝依賴包 npm install postcss-pxtorem --save-dev
2 創建 .postcss.js文件,做webpack相關配置
配置項
autoprefixer: 添加瀏覽器前綴
postcss-pxtorem:{
rootValue:750; 根大小750
propList:[] 屬性的選擇器,*表示通用
selectorBlackList:[] 忽略的選擇器 .ig- 表示 .ig- 開頭的都不會轉換
}
===============
css中單位px和em,rem的區別
px是固定像素,em是相對父元素字體大小的百分比,比如div設成15px,div的子節點1em就是15px,2em就是30px。
rem和em差不多,但是是相對於html元素(文檔根元素document.documentElement)而不是父元素。
px像素(Pixel)。相對長度單位。像素px是相對於顯示器屏幕分辨率而言的。
em是相對長度單位。相對於當前對象內文本的字體尺寸。如當前對行內文本的字體尺寸未被人為設置,則相對於瀏覽器的默認字體尺寸。
任意瀏覽器的默認字體高都是16px。所有未經調整的瀏覽器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。為了簡化font-size的換算,需要在css中的body選擇器中聲明Font-size=62.5%,這就使em值變為 16px*62.5%=10px, 這樣12px=1.2em, 10px=1em, 也就是說只需要將你的原來的px數值除以10,然后換上em作為單位就行了。
EM特點
1. em的值並不是固定的;
2. em會繼承父級元素的字體大小。
所以我們在寫em的時候,需要注意兩點:
1. body選擇器中聲明Font-size=62.5%;
2. 將你的原來的px數值除以10,然后換上em作為單位;
3. 重新計算那些被放大的字體的em數值。避免字體大小的重復聲明。
rem是CSS3新增的一個相對單位(root em,根em),這個單位引起了廣泛關注。
這個單位與em有什么區別呢?區別在於使用rem為元素設定字體大小時,仍然是相對大小,但相對的只是HTML根元素。
這個單位可謂集相對大小和絕對大小的優點於一身,通過它既可以做到只修改根元素就成比例地調整所有字體大小,又可以避免字體大小逐層復合的連鎖反應。目前,除了IE8及更早版本外,所有瀏覽器均已支持rem。