CSS特性的取值
CSS特性的取值总结起来可以大致分为2种:长度值和颜色值
1、长度值
长度值分类 | 名称 | 说明 |
<integer> | 整数 | 包括负整数、0、正整数;如z-index属性的值必须为整数 |
<number> | 实数 | 包括所有整数和小数; |
<length> | 长度值 | <number>+单位(px/em/cm etc.)注意必须要有单位(但0时可有可无) 1、 相对长度单位 em:相对于作用到该元素上的font-size大小 px:相对于显示设备的像素单位 ex:相对于一个小写英文字母x的高度 2、 绝对长度单位 in:英寸=2.54cm cm:厘米 mm:毫米 pt:点 pc:皮卡 = 12pt |
<percentage> | 百分比值 | <number>+%, 相对于父元素的某个值(常常是width) |
2、颜色值
十六进制 | 如:#F0FFFF, #f0b=#ff00bb | 必须要有#号 |
关键词 | 如:red | 注意不能有引号; 关键词列表是:aqua、 black、 blue、 fuchsia、 gray、 green、 lime、 maroon、 navy、 olive、 orange、 purple、 red、 silver、 teal、 white 和 yellow。 |
rgb( ) | 如rgb(255,0,0)或rgb(20%,30%,10%) | 对于超出有效范围的值,会被处理为可用范围内的值。 如: em { color : rgb(300, 0, 0) } /* 修剪为 rgb(255, 0, 0) */ em { color : rgb(255, -10, 0) } /* 修剪为 rgb(255, 0, 0) */ em { color : rgb(110%, 0%, 0%) } /* 修剪为 rgb(100%, 0%, 0%) */ |
用户环境中某些对象的颜色 |
|
|
3、当<length>长度值缺少单位时,各浏览器的处理
不管是一般设置CSS属性,还是在DOM中设置长度类型的CSS属性缺少单位,所有浏览器的混杂模式均将缺少单位类型的长度类型 CSS 特性理解为以 "px"为单位。而所有浏览器的标准模式均将此认为是错误的 CSS 代码而忽略。
4、各浏览器对于计算后宽度和高度为含有小数的长度值时,其最终值会不一致
因为像素一定是整数,所以宽度和高度值若用百分比得到一个小数值时,需要转换为整数.
IE6 IE7 IE8 Firefox | 百分比宽度实际使用值(即最终值) = 四舍五入(计算值) |
Chrome Safari Opera | 百分比宽度实际使用值(即最终值) = 取整 (计算值) |
IE6 IE7 IE8(Quirk) Chrome Safari Opera | 百分比宽度计算是基于其包含块 width 的实际使用值 |
Firefox IE8(S) | 百分比宽度计算是基于其包含块 width 的计算值 |
解决办法:如果页面需要精确到像素级的话,建议为宽高属性指定整型值。