原理是:HTML元素被认为是网页上的第一个元素,即根元素,但是IE7以下的所有版本有一个匿名的根元素,它包围着HTML元素,可以使用通用选择器指定包围在另一个元素中的HTML元素。因为这种情况只在IE6和更低版本中出现,所以可以将特定的规则应用于这些浏览器。比方说
* html{font-size:small}
例子:IE6以下将1象素的点划线错误的显示成虚线,为了避免这个虚线,可以将链接上的鼠标停留边框样式设置成点线,但在IE中复盖这个规则,让它们显示成实线。可以写成:
a:hover{
border:1px dotted black
}
* html a:hover{
border-style:solid
}
结论:在任何常规的CSS规则开头添加一个通用选择器和一个HTML类型选择器。这样就会对除IE之外的所有浏览器隐藏这个规则。 例如:*html{font-size:small}, IE以外的浏览器不认得。
*{font-size:small} 是指*是通用符,把所有字体都默认置小。同理,* {margin: 0padding: 0}是指所有的区域,影响整个页面。
参考: http://bbs.blueidea.com/thread-2876874-1-1.html
css中*号代表的是全部元素,如body,div等等都包括,padding的意思内边距,具体理解看图:
padidng-top的意思是:所有元素都具体上边移动30px;具体看下代码:
<html>
<head>
<style>
*{
padding-top:30px
}
.keepbj{ //通过class来设置
width:100px
height:50px
border:1px solid #f00
}
</head>
<body>
<div class='keepbj'>
</div>
</body>
</html>
给一个border便于观察。
*就是通配符的意思就是所有的都继承他的属性!但是他的优先级是最低的如果下边有一个.a{ margin:5px}*的margin:0px就会被.a的 margin:5px替换但是如果.a{}*的margin:0px就会被.a的继承最后.a{ margin:0px }就会变成这个属性