亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

css3 - 想用rem給width與height進行賦值時,該怎么計算呢?以誰為參照物呢?

瀏覽:86日期:2023-07-31 09:10:00

問題描述

rem在設置寬度和高度的時候,該怎么進行計算呢?比如html{font-size: 62.5%;}那么font-size:2rem;與font-size:20px是一樣的但是width:20rem與width:200px是不一樣的。所以,當想用rem進行width與height進行設置時,該怎么計算呢?以誰為參照物呢?

問題解答

回答1:

rem用來設置字體大小,也可以用于網格布局。rem中的r代表根元素,它的值就是根元素設置的字體大小。在大多數情況下,根元素就是html了。這個單位可以解決em設置字體時,由于繼承帶來的問題,具體如下:

body { font-size: 14px;}p { font-size: 1.2em; // calculated at 14px * 1.2, or 16.8px}

假設html存在這樣的結構:

<body> <p>Test <!-- 14 * 1.2 = 16.8px --><p> Test <!-- 16.8 * 1.2 = 20.16px --> <p>Test <!-- 20.16 * 1.2 = 24.192px --> </p></p> </p></body>

但是用rem能避免

html { font-size: 14px;}p { font-size: 1.2rem;}

這樣在上面的那三個嵌套的p的字體大小都是 1.2*14px = 16.8px 了。在布局中,如下:

.container { width: 70rem; // 70 * 14px = 980px}

參考文章

回答2:

rem這個單位是相對于根元素的,是可以用來設置width和height的,只是計算的基準是html標簽的font-size值,這里建議html的font-size值用px,不要用百分比; 不過呢html的font-size最好是通過js來動態計算一個數值:

//- 設置根元素fontSize~(function (doc, win) { var _root = doc.documentElement,resizeEvent = ’orientationchange’ in window ? ’orientationchange’ : ’resize’,resizeCallback = function () { var clientWidth = _root.clientWidth,fontSize = 20; if (!clientWidth) return; if(clientWidth < 640) {fontSize = 20 * (clientWidth / 320); } else {fontSize = 20 * (640 / 320); } _root.style.fontSize = fontSize + ’px’;}; if (!doc.addEventListener) return; win.addEventListener(resizeEvent, resizeCallback, false); doc.addEventListener(’DOMContentLoaded’, resizeCallback, false);})(document, window);回答3:

其中的rem原理我就不說了,我想說的就是,rem,真的不能用在height和width中, 在height和width中,一般情況下使用百分比就可以了. 在width里面使用rem的話,你會發現, 他計算出來的數值,和你想要的不一樣.舉個例子吧: 當你在html里面設置的font-size為10px的話,

html{ font-size:10px;}p{ font-size:2rem; //得到的結果是20px 你會微微一笑,艸,你騙我呢. 不急,show u code}p{ height: 2rem; //這時候,請打開你的控制臺,觀察p的高度,你會發現是24px;TM!!!怎么不是20px呢}

原理就是, font-size 對于height 和 width 而言最小值是 12px, 而對于font-size而言, 你想設多少,就設置多少。 這個無可厚非??瓤葉~所以綜上所述: 在height 里面一般使用 百分比就夠了(你整個12px 你自己也不好計算呀,而且如果動態的時候真的給你整個 <12px的,到時候哭都來不及).在font-size里面,最好就使用rem, 因為這個單位是專門為他開發的.

回答4:

呵呵,rem只是用來設置字體大小,沒有誰告訴你rem可以設置width和height

標簽: CSS
主站蜘蛛池模板: 人体大胆做受免费视频 | 日本大片在线观看免费视频 | 最新国产在线播放 | 久久久国产成人精品 | 亚洲黄色在线播放 | 草逼社区 | 一级国产精品一级国产精品片 | 爱爱视频免费 | 国产精品亚洲精品日韩已方 | 久久亚洲精品一区二区三区浴池 | 欧美一级暴毛片 | 免费国产不卡午夜福在线 | 久久午夜鲁丝片午夜精品 | 亚洲美日韩| 亚洲伦理久久 | 我要看一级黄色录像 | 国产一二在线观看视频网站 | 97玖玖 | 精品一区二区三区视频 | 亚洲主播 | 天堂激情| 尤物在线观看视频 | 亚洲第一视频在线播放 | 高清在线精品一区二区 | 精品91自产拍在线观看99re | 91果冻传媒文化有限公司 | 成人黄色免费观看 | 午夜伦情电午夜伦情影院 | 欧美欧美欧美 | 成人免费视频无遮挡在线看 | 大黄网站在线观看 | 亚洲国产精品a在线 | 黄 色 片在观看 | 青青草免费观看 | 欧美 日韩 国产在线 | 轻轻啪在线视频播放 | 久爱www免费人成福利播放 | 1000部末满18在线观看黄 | 国产视频网 | 97色婷婷| 亚洲综合色视频 |