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
浙公网安备 33010602011771号