亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

canvas無法使用rem單位的解決方案

發布時間:2021-09-14 08:45:44 來源:億速云 閱讀:169 作者:chen 欄目:web開發

這篇文章主要介紹“canvas無法使用rem單位的解決方案”,在日常操作中,相信很多人在canvas無法使用rem單位的解決方案問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”canvas無法使用rem單位的解決方案”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

CSS3中新的字體單位rem
前段時間無意中在wordpress主題中接觸到一種字體單位rem,當時我就很好奇,畢竟以前沒有見過,于是我馬上查找資料,并測試了一回.

眾所周知在web中有很多字體單位(font-size)較常見的有em,px,讓我們對比一下這兩種單位:

px是絕對值,準確而穩定.但是它的改變會影響頁面布局.
em是相對值,它以父元素的大小為基準單位,來計算大小.所以很難把握.
考慮到這么多字體單位的優缺點,在CSS3中rem誕生了.rem也是相對單位(rem=root em)很明顯rem是由em變化而來,或者說rem是em的升級版,具體來歷.我們就不要去追究了,從字體表面上看,它就是這么回事.

root em,就是相對于根目錄的em而不是相對于父元素,也就是說,它雖然是絕對值,但是只是相對于根目錄來說也就是html,它不會隨著其它元素的改變而改變.也就是說,我們只要設定html的文字大小就可以了.而不用考慮其它因素.

而且他還具有非常好的支持Chrome,Firefox,Safari,Opera,IE9+.IE6,7,8就只能使用px或者em了.

XML/HTML Code復制內容到剪貼板

  1. html{      

  2.     font-size:62.5%;      

  3. }  

為什么要這么設置呢?因為網頁上的字體默認是16px,而16px的62.5%就是10px;也就是說這樣的活1rem就等于10px,這個對于我們來說是非常棒的,font-size:1.2rem,當然為了兼容IE的低級版本還要寫font-size:12px,別忘了要寫在rem的前面.

在這里我要提到一點的就是,假如你要是用rem來設置行高,邊距之類的單位.請在html中加入這么一句話:-webkit-text-size-adjust:none;來消除webkit的默認屬性.否則在其它的地方rem不是以根目錄作為基準值了.

canvas無法使用rem單位的解決方案
我們在使用canvas時需要設置畫布的大小,即設置canvas標簽的width,height屬性。

XML/HTML Code復制內容到剪貼板

  1. <canvas width="200px" height="200px"></canvas>  

在移動端,畫布的大小要根據屏幕的大小進行適配,我們一般采用rem結合媒體查詢的方式。使用canvas時就遇到遇到一些問題:

canvas的width屬性不支持rem單位(如果使用樣式當然支持rem,但注意canvas的width屬性與style中的width是有區別的),如下

CSS Code復制內容到剪貼板

  1. <canvas width="2.5rem" height="2.5rem"></canvas>  

translate方法傳參是坐標位置,不帶單位,如ctx.translate(10,10);
適配屏幕是必須的,但如何解決?用最原始的百分比布局就可以:

  1. //獲取屏幕的寬度   

  2. var  clientWidth = document.documentElement.clientWidth;   

  3. //根據設計圖中的canvas畫布的占比進行設置   

  4. var canvasWidth = Math.floor(clientWidth*200/720);   

  5. canvas.setAttribute('width',canvasWidth+'px');   

  6. canvas.setAttribute('height',canvasWidth+'px');   

  7. //translate方法也可以直接傳入像素點坐標  

到此,關于“canvas無法使用rem單位的解決方案”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

栾城县| 青冈县| 乐平市| 昌乐县| 东平县| 武川县| 德格县| 华安县| 清镇市| 淮北市| 普宁市| 盖州市| 上犹县| 于田县| 万全县| 绵竹市| 秦安县| 台东市| 滁州市| 泰安市| 南召县| 平顶山市| 慈利县| 姚安县| 日喀则市| 饶阳县| 扶余县| 台前县| 大悟县| 卢氏县| 赤城县| 福泉市| 庐江县| 隆化县| 永川市| 汉川市| 保亭| 光泽县| 大丰市| 铜川市| 高平市|