麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > rem的原理:如何做一個能自動根據手機大小不同,自動配置rem的功能rem的原理

rem的原理:如何做一個能自動根據手機大小不同,自動配置rem的功能rem的原理

來源:千鋒教育
發布人:syq
時間: 2022-08-11 10:10:58 1660183858

  rem是root em 的簡寫,是根據根元素的字號大小進行的,它是CSS3中新增加的一個尺寸(度量)單位,根節點(html)的font-size決定了rem的尺寸,也就是說它是一個相對單位,相對于(html),瀏覽器的默認的font-size是16px,1rem默認就等于16px。

rem的原理

  因為不同手機型號的屏幕大小都不同,所以這時候我們就不能用px來做單位,rem是適配不同手機屏幕的一種方案,設置根元素的font-size來改變rem尺寸。

  假如 html{font-size:20px;} .box{width:1rem;height:1rem;background:red;}將根元素html的font-size設置為20px,此時box的寬高都為20px,也就是1rem = 20px。

  如果用1rem=20px去寫頁面,那么即使所有的單位換成了rem,依舊還是最終相對于px,沒有意義,還是px,不會根據手機大小進行適配,想要做一個能自動根據手機大小不同,自動配置rem的功能。

  - 方法1:利用js動態獲取實現

  首先用js根據不同的視窗寬度動態的改變根元素的font-size ``` //獲取視窗寬度(兼容性寫法) let rootWidth = document.documentElement.clientWidth || document.body.clientWidth;

  //獲取html元素

  let rootDom = document.querySelector('html');

  //動態設置html的font-size(除以10是讓瀏覽器的font-size達到比較合適目的)

  rootDom.style.fontSize = rootWidth / 10 + 'px';

  - 方法2:根元素的font-size:某某vw;

  前面說了如果用1rem=20px去寫頁面,那么即使所有的單位換成了rem,依舊還是最終相對于px,沒有意義,還是px,不會根據手機大小進行適配,想要做一個能自動根據手機大小不同,自動配置rem的功能,所以此時就需要把html{font-size:?px;}這里的單位px換成一個其他的相對單位,如果想要書寫QQ音樂或者網易新聞這樣的頁面,他們是會隨著窗口變化而變化的,所以需要換的這個單位得是一個相對于窗口變化的單位,此時就需要引入一個新單位vw v是viewport w是width vw就是一個相對于視口寬度的單位 滿屏的時候是100vW,固html設置font-size的時候,單位就可采用vw,但是現在就面臨一個問題 font-size:?vw;多少合適回到頁面書寫的時候,UI設計師給的數據單位是px,而我們頁面書寫想用rem,但是rem是相對于根元素html,html需要設置的font-size的單位是vw?此時就需要知道px rem vw這3個單位之間的換算px rem vw這3個單位之間的換算已知:1rem=16px 滿屏是100vw 假如當前設備是iPhone6,那么此時100vw=375pxtodo 1rem=16px 100vw=375px ---》 1rem=16px 1vw=3.75px 1rem=16px=4.26667vw依次類推,可以假設1rem=100px 假設當前設備是iPhone6,那么此時100vw=375pxtodo 1rem=100px 100vw=375px ---》 1rem=100px 1vw=3.75px 1rem=100px=26.6667vw依次類推,可以假設1rem=120px 假設當前設備是iPhone6,那么此時100vw=375pxtodo 1rem=120px 100vw=375px ---》 1rem=120px 1vw=3.75px 1rem=120px=32vw依次類推,可以假設1rem=100px 假設當前設備是iPhone6plus,那么此時100vw=414pxtodo 1rem=100px 100vw=414px ---》 1rem=100px 1vw=4.14px 1rem=100px=24.15vw

  以上只要比例換算是相等的都可以,但是前面2個的換算都是除不盡四舍五入來的,想要保證數據的準確度,建議采用1rem=120px=32vw這個比例假如現在在750的設計圖上,ps測量上的文字大小是90px,因為dpr是2,所以此時書寫px就是45px,把45px轉換成rem,根據1rem=120px這個比例,最終代碼書寫font-size:0.375rem(45px/120px); 其實就相對于是90/2/120 90/240 這樣口算很麻煩,可以在vscode上安裝插件 px to rem 插件 設置一下轉換比例即可 轉換的快捷鍵是 alt+Z ,設置轉換比例為240最終代碼書寫的時候,需要給html{font-size:32vw;} 假如測量文字大小是90px,代碼書寫font-size:90px按一下alt+Z,結果就是font-size: 0.38rem;假設現在的設計圖是750的,想要用1rem=100px=26.6667vw比例換算,假如ps測量的高度是100px,請問此時書寫height:?rem;

  過程:因為設計圖是750的,所以此時dpr是2 如果寫px,那么100px此時寫成50px但是最終想要用rem寫 已知1rem=100px 所以 此時的50px 寫成rem就是 0.5rem 。假設現在的設計圖是1242的,想要用1rem=100px=24.15vw比例換算,假如ps測量的高度是90px,請問此時書寫height:?

  rem;,過程:因為設計圖是1242的,所以此時dpr是3 如果寫px,那么90px此時寫成30px,但是最終想要用rem寫 已知1rem=100px 所以 此時的30px 寫成rem就是 0.3rem

  更多關于前端培訓的問題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項目實操的話可以點擊咨詢課程顧問,獲取試聽資格來試聽我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門到精通。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 波多野结衣办公室33分钟| 911香蕉视频| 最近免费中文字幕大全高清10| 亚洲a∨精品一区二区三区下载| 久久夜色精品国产亚洲| 日本三级电影网址| 一个人看日本www| 风间由美juy135在线观看 | 攵女yin乱合集高h文| 一个人hd高清在线观看免费直播| 波多野结衣电影免费在线观看| 最近最新好看的中文字幕2019| 日本成人在线免费| 国产剧果冻传媒星空在线播放| 国内精品视频一区二区八戒| 精品久久久久国产免费| 国产特级毛片aaaaaa毛片| 日本三级高清| 欧美三级在线播放| 在线观看高嫁肉柳1一4集中文| 国产嫩草在线观看| 国产99久久久久久免费看| 欧美一级大片在线观看| 亚洲午夜成激人情在线影院| 伊人a.v在线| 亚洲动漫在线| 日本一品道门免费高清视频| 一本伊在人香蕉线观新在线| 真实的和子乱拍免费视频| 色婷婷激婷婷深爱五月小蛇| 国色天香社区在线观看免费播放| 性欧美大战久久久久久久| 久久精品无码一区二区三区 | 欧美一区二区三区精华液| 国产真实迷j在线播放| 欧美一级高清黄图片| 欧美人与动zozo欧美人z0| 中文字幕精品一区二区精品| 韩国爱情电影妈妈的朋友| 亚洲国产成人久久综合区| 天天色影网|