HTML5之旅(1) CSS Reset 反璞归真

所有做WEB开发的人遇到的第一个问题就是浏览器表现不一致。由于大大小小数十种的浏览器对HTML标签的默认样式初始值不统一(即便同是壳浏览器,360与搜狗于IE还是有些小区别。例如这个http://apps.hi.baidu.com/share/detail/31218381),导致页面在不同浏览器下显示不统一,甚至错位。在移动互联网时代,虽说不考虑IE6这个朽木老头,但是五花八门的浏览器门派还是让人蛋疼。

所以上帝说,一定要有“CSS Reset”。CSS Reset 意思是样式重置,它就是一套CSS样式,它通过指定规范的HTML元素样式,让页面在所有浏览器下实现统一展现,还可以预防某些莫名奇妙的BUG。CSS Reset 就像一道照耀在浏览器上的光芒,让一切都 反璞归真。

 

CSS Reset 最简实例:

* { margin: 0; padding: 0; } 

这是一个最简单的例子,清除所有元素的外边距和内边距,被许多人采用。但这种方式貌似被前端界批判着: 1) 使用*会导致遍历整个页面的元素,页面渲染效率低下 2)对于表单元素会造成异常 (http://css-tricks.com/119-margin-0-padding-0-no-longer-cool/)

在这里我推荐使用以下流行方案:

1.Eric Meyer CSS Reset (流传最广)

2.YUI CSS Reset (来自鼎鼎大名的YUI)

3.KISSY CSS Reset (来自淘宝开源项目KISSY)

以下是个人总结的,简单易用,直接贴出代码:

html, body, form, fieldset, p, div, ul, h1, h2, h3, h4, h5, h6 {
    border: 0;
    outline: 0;
    margin:0;
    padding:0;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    -webkit-text-size-adjust:none;
    -webkit-user-select:none;
}
html {
    height: 100%;
    width: 100%;
}
body {
    font-size: 12px;
	position:relative;
	background-color:transparent;
	overflow:hidden;
}
ul {
	list-style:none;
}
a {
	text-decoration:none;
	outline:none;
}
a:hover, a:active {
    outline: none;
}
em {
    font-style: normal;
}
img {
    border: 0 none;
}
:focus { 
    outline: 0;
}
.clear {
	clear:both;
}
/* iPad style */
@media all and (orientation: portrait) { } 
@media all and (orientation: landscape) { }

  

NOTE: WORK IN PROGRESS
USE WITH CAUTION AND TEST WITH ABANDON

其他相关:打造自己的reset.css http://shawphy.com/2009/03/my-own-reset-css.html

转载于:https://www.cnblogs.com/mobilelook/archive/2011/11/14/2247716.html

你可能感兴趣的:(HTML5之旅(1) CSS Reset 反璞归真)