你可能没注意的CSS单位
扶今追昔
CSS中的單位我們經(jīng)常用到px、pt、em、百分比,px和pt不用多說
em
em是相對單位,參考物是父元素的font-size,具有繼承的特點(diǎn)
如果字體大小是16px(瀏覽器的默認(rèn)值),那么?1em = 16px
這樣使用換算很復(fù)雜,尤其是和px對應(yīng),大家總結(jié)出了經(jīng)驗
body {
font-size: 62.5%;
}
這樣之后?1em = 10px?在布局等使用的時候好換算了很多
百分比
百分比也是很常見的用法,看似簡單其實(shí)有些初學(xué)者可能注意不到的知識
相對于誰
首先要明確百分比是相對于誰,寬泛的講是父元素,但是并不是十分準(zhǔn)確
viewport:可視窗口,也就是瀏覽器的window那么大
意外
CSS3開啟新時代
rem
em是個很不錯的單位,但是有個問題就是可能會帶來混亂,因為em依賴于父元素的字體大小,各個元素父元素的字體尺寸不一定一樣,會帶來布局上很大的不確定性
rem?font size of the root element
rem相對于根元素html(網(wǎng)頁),這樣使用起來就安全了很多
html {font-size: 62.5%; /10 ÷ 16 × 100% = 62.5%/}
body {font-size: 1.4rem; /1.4 × 10px = 14px?/}
h1 { font-size: 2.4rem; /2.4 × 10px = 24px/}
IE9+ 和現(xiàn)代瀏覽器都已經(jīng)支持了
vw和vh
- vw?Viewport寬度, ** 1vw ** 等于viewport寬度的1%
- vh?Viewport高度, ** 1vh ** 等于viewport高的的1%
vw和vh會隨著viewport變化自動變化,再也不用js控制全屏神馬的了
甚至有些人喪心病狂的字體大小都用vw和vh控制,來達(dá)到字體和viewport大小同步的效果
IE10+ 和現(xiàn)代瀏覽器都支持這兩個單位
vmin和vmax
這兩個單位是針對vw和vh
- vmin?vw和vh中比較 ** 小 ** 的值
- vmax?vw和vh中比較 ** 大 ** 的值
這兩個屬性也會隨著viewport變化
IE10+ 和現(xiàn)代瀏覽器都已經(jīng)支持vmin
webkit瀏覽器之前不支持vmax,現(xiàn)在已經(jīng)支持,所有現(xiàn)代瀏覽器已經(jīng)支持,但是IE ** 全部 ** 不支持vmax
ch和ex
這兩個單位時根據(jù) ** 當(dāng)前font-family?** 的相對單位
- ch?字符0的寬度
- ex?小寫字符x的高度
當(dāng)font-family改變的時候這兩個單位的值也會變化,不同字體表現(xiàn)的樣式不一樣
IE9+ 和現(xiàn)代瀏覽器都已經(jīng)支持
瀏覽器兼容性
寫的時候介紹了一些,大神寫了測試頁面可以幫我們直觀的看到
http://s.codepen.io/chriscoyier/fullgrid/CiwFD?type=embed&safe=true
<iframe height="680" width="100%" src="http://s.codepen.io/chriscoyier/fullgrid/CiwFD?type=embed&safe=true">
參考
7 CSS Units You Might Not Know About
CSS的長度單位
你可能不知道的7個CSS單位
? ? 本文轉(zhuǎn)自魏瓊東博客園博客,原文鏈接http://www.cnblogs.com/dolphinX/p/4097693.html:,如需轉(zhuǎn)載請自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的你可能没注意的CSS单位的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 课程第七天内容《基础交换七》
- 下一篇: Mysql错误代码大全