Rem實現自適應初體驗

2022-07-24 16:39:20 字數 1307 閱讀 1228

第一次做移動端的頁面,遇到的第乙個問題就是移動端的輪播圖。其實輪播圖的外掛程式有很多,但是完全滿足需求的並不容易找。

需求:1.實現基本的觸屏輪播圖效果

2.傳入非標準比例的,可以自動平鋪(有時候可能比例略有偏差,當然例子裡的圖是隨便找的,平鋪之後不能看呀)

3.輪播圖模組能實現自適應,按照固定高寬比顯示,比如3:10的高寬比

一、初識rem

那麼這個需求的難點在**呢?其實就是我需要限定的寬高,但是又要保證自適應

如果只考慮前者:

.swiper-container
但是這樣高度就固定了。最後決定使用rem這個相對單位 詳細內容可參加 www.w3cplus.com/css3/define-font-size-with-css3-rem

我的理解 rem就是以元素的font-size作為單位的相對單位。如果根元素的font-size是20px,那個1rem就是20px。

那麼只要根據裝置的解析度改變根元素的font-size就可以實現頁面內各元素的自適應

那麼現在就應該改寫成

.swiper-container
二、自動更改的font-size

一種方案是採用**查詢的方式設定主流的解析度下的font-size

加入這麼一段js,就可以根據螢幕的寬度動態改變font-size

根據這一句 docel.style.fontsize = 20 * (clientwidth / 320) + 'px';  可知

iphone4寬度是320px,那麼font-size就是20px, 100px就是5rem(要注意設計稿,像我拿到的設計稿是iphone6尺寸的,那麼是2倍圖,量出來的100px,在css中是50px實現的,就是2.5rem了)

iphone6寬度是375px,那麼font-size就是23.4375px,100px就是4.267rem

三、自動化轉換px到rem

那寫css的時候,難道又要這麼去換算麼,我不是心算小王子呀。特別是當設計稿是按照iphone6來的時候

這時候就用上sublime text的外掛程式cssrem了  github.com/flashlizi/cssrem

這樣就可以安心的按px寫,然後一回車轉換成rem啦

事實證明效果拔群呢

由於是公司專案,就不放效果圖啦,希望對大家有一點點幫助咯

rem布局實現自適應

使用em和rem單位進行布局,相對 百分比布局更加靈活,可以根據瀏覽器的字型大小調整和縮放來相應顯示頁面。但因為em是相對父級元素的font size,想想就複雜。而rem是相對於根元素html的font size進行計算,繞開了複雜的層級關係,更加簡單。瀏覽器預設字型大小為16px,轉化關係為 1...

Rem 自適應布局

1.先引入一下js,到頭部的script標籤的最前面。2.根據設計稿大小,調整裡面的最後兩個引數值。3.使用1 rem 100px轉換你的設計稿的畫素,例如設計稿上某個塊是100px 300px,換算成 rem則為1 rem 3rem。上面的 如果在 uc瀏覽器下橫屏與豎屏轉換,發現 並沒有 自適應...

rem自適應原理

目前有兩種,一種是根據js來調整html的字型大小,另一種則是通過 查詢來調整字型大小。使用js function designwidth,maxwidth if width maxwidth 與 做法不同,直接採用簡單的rem換算方法1rem 100px var rem width 100 des...