关于css中的单位使用px,em,rem

以前经常使用的单位是px,因为这个单位是相对于屏幕分辨率来说,所以如果需要调整就要把所涉及的单位数字全部调整一遍,而如果当时
结果所涉及的层级较多,或者说此结构出现的地方较多,就会有遗漏的可能,那么最终的效果就有可能与我们想要的结果千差万别。
em是相对于本对象内的文本尺寸而言,比如说p内设定的font-size:16px;那么在p内设置的其他尺寸如1em就会有16px的效果,当然是用
em的麻烦之处在css的继承机制会使子元素的单位产生累积的结果,比如父元素如果设置字体尺寸是1.2em,那么子元素如果设置字体尺寸
也是1.2em,相当于1.2*1.2em了,当然是相对于1em所相当的px来说。这里就要提到使用em所要提前进行的单位转换,这也是为了方便
我们简单的使用em,使我们可以快速的换算出所要使用的数值,
浏览器约定的字体尺寸是16px,即16px=1em,那么12px=0.75em;10px=0.625em;
所以我们会在body中设置font-size:62.5%即10px,就相当于10px=1em;这样子级换算使用的话,就是用子级的像素除以10加上em就可以了
rem即root em ,即根元素的em,除了ie8及较早的浏览器,所有的浏览器均以支持,这个单位可以说是进化版的em,使用这个单位
就不需要担心子级出现的继承问题,因为它们都是相对于根元素来说的,使用此单位只需要在html中设置字体尺寸,然后子级中所使用的
rem都是相对于根元素中的字体尺寸来说的,考虑兼容性,可以同时设置像素尺寸
例:p{font-size:14px ;font-size:0.875rem;}

posted @ 2016-08-04 16:28  宁迪  阅读(855)  评论(0)    收藏  举报