Css 将*通用选择器或将正文的填充和边距设置为0的目的是什么?

Css 将*通用选择器或将正文的填充和边距设置为0的目的是什么?,css,Css,我不是设计师,但我注意到firefox和internet explorer之间有很多变化。有人告诉我,最好将通用选择器的*padding和margin设置为0,将body的margin和padding设置为0。这有必要吗?是否需要同时设置*和正文的填充和/或边距?每个浏览器对每个元素类型都有自己的“默认”CSS值。使用通用选择器*将页边距和填充重置为0,可删除因不同默认CSS值而可能导致的任何跨浏览器不一致。每个浏览器对每个元素类型都有自己的“默认”CSS值。使用通用选择器*将页边距和填充重置为

我不是设计师,但我注意到firefox和internet explorer之间有很多变化。有人告诉我,最好将通用选择器的*padding和margin设置为0,将body的margin和padding设置为0。这有必要吗?是否需要同时设置*和正文的填充和/或边距?

每个浏览器对每个元素类型都有自己的“默认”CSS值。使用通用选择器*将页边距和填充重置为0,可删除因不同默认CSS值而可能导致的任何跨浏览器不一致。

每个浏览器对每个元素类型都有自己的“默认”CSS值。使用通用选择器*将页边距和填充重置为0,可删除因不同默认CSS值而导致的任何跨浏览器不一致。

设置正文的页边距和填充是为了避免窗口边缘和HTML正文之间的默认间距。您的特定网站设计可能需要或不需要此功能;例如,stackoverflow需要用于底部的灰色框。 无需将其设置为*即可完成此操作,因为很明显,body设置将覆盖标记的*设置


像这样粗暴地更改*设置只会删除之前所有不同标签的正常默认设置。您最好只修改直接困扰您的CSS,例如消除特定元素之间不必要的空间。这有点像人们为整个页面指定了绝对默认字体大小10,这会让有特殊需要的用户非常烦恼。

设置正文的边距和填充是为了避免窗口边缘和HTML正文之间的默认间距。您的特定网站设计可能需要或不需要此功能;例如,stackoverflow需要用于底部的灰色框。 无需将其设置为*即可完成此操作,因为很明显,body设置将覆盖标记的*设置


像这样粗暴地更改*设置只会删除之前所有不同标签的正常默认设置。您最好只修改直接困扰您的CSS,例如消除特定元素之间不必要的空间。这有点像人们为整个页面指定了绝对默认字体大小10,这会让有特殊需要的用户非常烦恼。

查看雅虎的重置CSS:


使处理不同浏览器变得更加容易。

查看雅虎的重置CSS:


使处理不同的浏览器变得更容易。

记住,孩子们,设置所有的样式!对于额外的可访问性拒绝很重要。你花了太多的时间来定位你所有的div,让它们以最脆弱、最不可维护的方式排列,让某个混蛋把事情搞砸,仅仅因为他认为法律上的失明让他变得特别。firefox和ie中窗口边缘之间的空间不同吗?感谢chaos对你的讽刺支持。我不知道这个空间是怎么定义的。你很可能很容易找到两种不同的操作系统/浏览器设置。记住,孩子们,设置你所有的风格!对于额外的可访问性拒绝很重要。你花了太多的时间来定位你所有的div,让它们以最脆弱、最不可维护的方式排列,让某个混蛋把事情搞砸,仅仅因为他认为法律上的失明让他变得特别。firefox和ie中窗口边缘之间的空间不同吗?感谢chaos对你的讽刺支持。我不知道这个空间是怎么定义的。你很可能很容易找到两种不同的OS/浏览器设置。将*和正文的边距和填充设置为0是否冗余?是的,既然*也以body元素为目标。有什么理由我不想使用*而改为使用body吗?如果您只想重置body上的边距/填充,但允许浏览器对未定义边距/填充的元素使用默认值。好的,进一步阅读后,这会更有意义,通用选择器类似于所有元素的通配符。谢谢你的帮助。将*和主体的边距和填充设置为0是多余的吗?是的,既然*也以body元素为目标。有什么理由我不想使用*而改为使用body吗?如果您只想重置body上的边距/填充,但允许浏览器对未定义边距/填充的元素使用默认值。好的,进一步阅读后,这会更有意义,通用选择器类似于所有元素的通配符。谢谢你的帮助。