css中 *margin-bottom:20px!important;解释下这里的*及!important的作用
*的作用:
*是区分浏览器兼容性的,写在一条样式里可以区分IE6、IE7和别的浏览器的不同,如:
.bor { border:20px solid green; *border:20px solid red ; padding: 30px;width :300px;}
绿色边框的样式写在前面,这时候所有浏览器都是绿色边框,红色边框的样式用了*,IE6和IE7能识别,其他浏览器不能识别,所以覆盖了前面的绿色边框,所以IE6和IE7显示红色边框,其他浏览器显示绿色边框
!important的作用:
是提高指定样式规则的应用优先权。写在定义的最后面,例如:box{color:red !important;} 最重要的一点是:IE 6.0一直都不支持这个语法,而其他的浏览器都支持。因此我们就可以利用这一点来分别比如:
.bor{ border:20px solid red !important; border:20px solid green;padding:30px;width : 300px;}因为ie6不认识!important,后面的绿色边框样式就会覆盖前面那句红色边框样式,而如ie7、火狐等浏览器认识!important,知道这一条样式的优先级要比后面那句高,就只会执行这句红色边框的样式。
em指字体高,任意浏览器的默认字体高都是16px。所以未经调整的浏览器都符合: 1em=16px。那么12px=0.75em, 10px=0.625em。为了简化font -size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。