为什么要清除默认样式?

时间:2024-04-15 16:33:02

为什么要清除css的默认样式?
1.首先每个浏览器对html标签都有自己的默认样式,用来保证在没有自定义样式的情况下也能被有据可循的渲染,然而各厂商都有自己的风格,需求也不同,需要自己的样式不被默认样式影响,就要清除加设置默认样式。
2.因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面显示差异。

当然,初始化样式会对SEO有一定的影响,但鱼和熊掌不可兼得,但力求影响最小的情况下初始化。
----------------------------
css重置的优点
1.避免重复定义他们,提高样式代码的重用。
2.设置自己的风格,字体,颜色等。
3.减少代码->减少维护成本
4.可以提供完全空白的画布,然后你就可以自己定义相应的样式了。
5.开发更加有逻辑性:你只是添加样式而不是移除和修改。
6.浏览器的兼容性问题可以降到最小
css重置的缺点
1.增加页面大小
大多数css文件在2kb左右
不同浏览器渲染页面的不确定性,尽量少修改浏览器的东西
3.大多数网站都在用默认css。
-----------------------------
常用设置
字体line-height设置100%
margin,padding为0px;
列表无样式,border去掉等

最简单的初始化方法就是(不建议):
*{padding: 0; margin: 0;}

淘宝的样式初始化:
body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td { margin:0; padding:0; }
body, button, input, select, textarea { font:12px/1.5tahoma, arial, \5b8b\4f53; }
h1, h2, h3, h4, h5, h6{ font-size:100%; }
address, cite, dfn, em, var { font-style:normal; }
code, kbd, pre, samp { font-family:couriernew, courier, monospace; }
small{ font-size:12px; }
ul, ol { list-style:none; }
a { text-decoration:none; }
a:hover { text-decoration:underline; }
sup { vertical-align:text-top; }
sub{ vertical-align:text-bottom; }
legend { color:#000; }
fieldset, img { border:0; }
button, input, select, textarea { font-size:100%; }
table { border-collapse:collapse; border-spacing:0; }