我目前有:
html, *{
margin:0;
padding:0;
}
html部分是否不必要?
答案 0 :(得分:1)
否*
是一个通用选择器,它会选择所有元素并应用margin: 0; padding: 0;
。添加html标记是多余的。
答案 1 :(得分:0)
是的,为了在不支持通用选择器的浏览器中工作。有关支持broswers的列表,请参阅this page
答案 2 :(得分:0)
在实践中的大多数情况下,html
部分没有区别。但逻辑确实如此,由于cascade中的特异性规则,这在某些情况下可能很重要。
举一个人为的例子,如果应用另一个样式表设置
* { padding-left: 1em; }
(确实很奇怪,但可能),如果样式表中存在html
部分,它对html
元素没有影响。但如果两个规则都只有通用选择器*
,则效果取决于规则的相互顺序。
答案 3 :(得分:0)
<html>
会受到影响,因为它也是元素。它是HTML文档的 ROOT 。
*
被称为通用选择器。它的目的是选择 ALL 页面中的元素,无论它们嵌套在何处以及如何嵌套。