前端开发篇——浏览器默认样式及css初始化


为何要初始化css?

建站老手都知道,这是为了考虑到浏览器的兼容问题,其实不一样浏览器对有些标签的默认值是不一样的,若是没对CSS初始化每每会出现浏览器之间的页面差别。固然,初始化样式会对SEO有必定的影响,但鱼和熊掌不可兼得,但力求影响最小的状况下初始化。css


相信不少人都曾经出现过多多少少的,有时候进行网页布局的时候,不知道为何设置的网页边距老是达不到本身想要的效果。html

好比,我在这个属性设置了60px,可是,它却变成了92px.浏览器

image
image
image

查看了一下全部属性,原来是浏览器默认加上去的。布局

image

再看看,为何我,没加float以前是正常的。网站

加了float后变成不正常了,在这里,我也没有加margin属性。spa

原来,是加了float使其脱离了文档流code

而后,浏览器默认加上了margin-top: 16px和margin-bottom: 16px;而后60+16+16=92;orm

固然,还有不少相似的问题,这里附上一些网站的默认css属性 http://www.iecss.com/htm

那么,应该怎么样解决这个问题呢?
  • 能够在css加上
*{
    margin: 0;
    padding: 0;
}

有不少人也是这样写的。这确实很简单,但有人就会感到疑问:*号这样一个通用符在编写代码的时候是快,但若是网站很大,CSS样式表文件很大,这样写的话,他会把全部的标签都初始化一遍,这样就大大的增强了网站运行的负载,会使网站加载的时候须要很长一段时间。blog

  • 还有就是把可能用上的属性值加上,这里引用了雅虎工程师提供的CSS初始化示例代码
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td { margin:0; padding:0; }
body { background:#fff; color:#555; font-size:14px; font-family: Verdana, Arial, Helvetica, sans-serif; }
td,th,caption { font-size:14px; }
h1, h2, h3, h4, h5, h6 { font-weight:normal; font-size:100%; }
address, caption, cite, code, dfn, em, strong, th, var { font-style:normal; font-weight:normal;}
a { color:#555; text-decoration:none; }
a:hover { text-decoration:underline; }
img { border:none; }
ol,ul,li { list-style:none; }
input, textarea, select, button { font:14px Verdana,Helvetica,Arial,sans-serif; }
table { border-collapse:collapse; }
html {overflow-y: scroll;} 

.clearfix:after {content: "."; display: block; height:0; clear:both; visibility: hidden;}
.clearfix { *zoom:1; }

而后,每次写css以前都加上这个就不用担忧什么问题了。

相关文章
相关标签/搜索