理解css中的长度单位
很基础的一个问题,但是,其实看起来很复杂的样子~~我们来捋一捋吧~~
css3中也对css中用到的单位进行了改进,单位也就是那几个,所以我们要搞清楚再用。
我们常用的有px、%、em,px就不多说了,em和%多说点儿:
1 2 3 |
.box{
line-height:1.3em;
} |
元素的行高是当前元素继承的font-size的1.3倍,
1 2 3 |
.box{
font-size:1.3em;
} |
当前元素的字体大小是其继承的font-size的1.3倍。
1 2 3 |
.box{
line-height:130%;
} |
元素的行高是当前元素继承的font-size的130%倍,等同于1.3em。
1 2 3 |
.box{
font-size:130%;
} |
当前元素的字体大小是其继承的font-size的130%倍,等同于1.3em。
恩,迷惑了吗?
em就是基于当前元素的(如果没设置就是继承其父元素的)font-size。
而%对于font-size、line-height等,是基于其父元素的font-size的,而对于text-indent、margin、padding、width等属性,则是基于父元素的宽度的。
CSS3中的单位:
css3中引入了一些新的单位:
显然vw、vh、vmin是针对移动设备的,如果视窗大小变化了,这三个值也会跟着相应的变化。
rem单位感觉就是px+em的变体,是否值得使用还要看你自己的取舍:没有px精确也没有em灵活——或者说,比px灵活,比em更精确~~。。。XD。。。
如果没有定义font-size怎么办?
其实不用担心,传说,各个浏览器史无前例的默认font-size:16px;,所以,即便你在样式文件中忘了定义font-size初始值,也可以放心的使用em、rem。
浏览器支持:
rem,各浏览器基本都支持了, IE9+、FF3.6+、Chrome、Safari 5+、以及 Opera 11.6+
vw、vh、vmin,浏览器支持并不乐观,IE9支持了,Chrome目前不支持,Chrome 20将会重新支持(貌似之前支持过?)、Safari也即将支持了吧,Opera和Firefox也还都不支持。
建议继续学习:
- 前端要给力之:URL应该有多长? (阅读:7733)
- IE的Get请求(URL)的最大长度限制 (阅读:4298)
- 一个 VLA (可变长度数组)的实现 (阅读:3748)
- IE中选择符的4095限制 (阅读:2351)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:神飞 来源: 前端观察
- 标签: 长度
- 发布时间:2012-04-09 12:16:48
-
[897] WordPress插件开发 -- 在插件使用 -
[135] 解决 nginx 反向代理网页首尾出现神秘字 -
[56] 整理了一份招PHP高级工程师的面试题 -
[54] Innodb分表太多或者表分区太多,会导致内 -
[53] 如何保证一个程序在单台服务器上只有唯一实例( -
[52] 全站换域名时利用nginx和javascri -
[52] 分享一个JQUERY颜色选择插件 -
[52] 用 Jquery 模拟 select -
[52] CloudSMS:免费匿名的云短信 -
[52] 海量小文件存储
