将html, body的font-size设置为100%有什么用?
在很多库都会看到有人写这样的代码:
html,
body {
font-size: 100%; }
请问这样写有什么用呢? font-size为什么要用100%?
font-size用百分数, 是相对于父元素的font-size计算. 那么html的父元素又是多少呢?
另外, 为什么不用
font-size: 1em;
它们之间有什么区别?
css3 web前端开发 HTML css JavaScript
Answers
1.首先说一下你写的这段代码,这段代码是有效的,代表整个页面默认字体大小为16*2,16px字体大小是初始化时网页默认的大小,你的是200%,当然也是按照2倍计算的。
2.你说的html的父元素,这个可能有点问题,你想知道的应该是根元素document.documentElement的字体大小是多少对吧,我不说是多说,你自己运行一下就会一目了然window.getComputedStyle(document.documentElement,null)['fontSize']
3.字体的规定可以用百分数,px,em,rem或者其他的单位,看你想做什么样的页面了,固定尺寸的就用px就够了,但是如果要做响应式rem常用一些,兼容低版本自然会有相应的办法,如sass中的计算方式,或者通过js来改变根元素的大小。em相对于父元素来决定,而rem是根据html的字体大小来决定的。
最后,你可以多动手写一下,这样不但加深印象,也会认识的更深刻,多去一些css,前端网站看看,如大漠大大的w3cplus和sass中国,这是一篇文章,你可以看看 http://www.cn-sass.com/%E6%8A%80%E5%B7%A7/sass-px-to-rem-with-mixin-and-function.html