Reset CSS:只选对的,不选"贵"的
玉伯和正淳一起整理的一份 reset.css:
/*
KISSY CSS Reset
理念:清除和重置是紧密不可分的
特色:1.适应中文 2.基于最新主流浏览器
维护:玉伯(lifesinger@gmail.com), 正淳(ragecarrier@gmail.com)
*/ /* 清除内外边距 */
body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 结构元素 */
dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
pre, /* text formatting elements 文本格式元素 */
fieldset, lengend, button, input, textarea, /* form elements 表单元素 */
th, td { /* table elements 表格元素 */
margin:;
padding:;
} /* 设置默认字体 */
body,
button, input, select, textarea { /* for ie */
/*font: 12px/1 Tahoma, Helvetica, Arial, "宋体", sans-serif;*/
font: 12px/1 Tahoma, Helvetica, Arial, "\5b8b\4f53", sans-serif; /* 用 ascii 字符表示,使得在任何编码下都无问题 */
} h1 { font-size: 18px; /* 18px / 12px = 1.5 */ }
h2 { font-size: 16px; }
h3 { font-size: 14px; }
h4, h5, h6 { font-size: 100%; } address, cite, dfn, em, var { font-style: normal; } /* 将斜体扶正 */
code, kbd, pre, samp, tt { font-family: "Courier New", Courier, monospace; } /* 统一等宽字体 */
small { font-size: 12px; } /* 小于 12px 的中文很难阅读,让 small 正常化 */ /* 重置列表元素 */
ul, ol { list-style: none; } /* 重置文本格式元素 */
a { text-decoration: none; }
a:hover { text-decoration: underline; } abbr[title], acronym[title] { /* 注:1.ie6 不支持 abbr; 2.这里用了属性选择符,ie6 下无效果 */
border-bottom: 1px dotted;
cursor: help;
} q:before, q:after { content: ''; } /* 重置表单元素 */
legend { color: #000; } /* for ie6 */
fieldset, img { border: none; } /* img 搭车:让链接里的 img 无边框 */
/* 注:optgroup 无法扶正 */
button, input, select, textarea {
font-size: 100%; /* 使得表单元素在 ie 下能继承字体大小 */
} /* 重置表格元素 */
table {
border-collapse: collapse;
border-spacing:;
} /* 重置 hr */
hr {
border: none;
height: 1px;
} /* 让非ie浏览器默认也显示垂直滚动条,防止因滚动条引起的闪烁 */
html { overflow-y: scroll; }
测试过的浏览器:IE 6+, Firefox 3.5+, Safari 4+, Chrome 2+, Opera 10+
解释一些和 YUI cssreset 的差异点:
1 清除内外边距的元素,去掉了 div, code(在测试浏览器中,没发现有边距), 增加了 button(感觉是 YUI 遗漏了).
2 去掉了 YUI 里对 html 颜色和背景色的设置。在测试浏览器中,没有发现差异。(要设的话,推荐background: transparent)
3 对于 address, caption, …, em, strong 等文本格式元素,做了调整。保留了 strong 和 th 的粗体。
4 对 abbr 和 acronym 做了调整,使得在非 ie6 下可视性更好。
5 去掉了 sup 和 sub 的样式,直接用浏览器默认的即可。
6 对于 input, select, textarea 表单元素,去掉了针对 ie 的 inherit, 只保留了 font-size 的 inherit hack. 因为其它 hack 经测试已失效。
7 增加了一些元素的默认样式。
此外,对整体代码的组织形式做了调整,按照元素的类别将代码进行了分组
如何使用
请记住:永远不存在万能解决方案,永远没有银弹。
因此我的建议和 Eric 是一样的:请根据具体需求,适量裁剪和修改后再使用。
比如针对淘宝,可以在 reset.css 的基础上,修改为 reset-taobao.css.
如果是个人博客,我个人喜欢的一个方案是:reset-blog.css.
相关测试页面请查看:cssreset svn.
真实使用时,请用压缩后的版本:reset-min.css.
对于 reset.css 本身,我们期待它能尽量多的适用于各种场景,但不期待它能解决所有问题。目前而言,reset.css 里的默认样式,是玉伯和正淳等各位同事和朋友们实践经验的总结,算是“精挑细选”,但不期待能解决所有问题。
最后,期待你的参与和建议。如果这份 reset.css 能有幸在你的项目中得到使用,则非常期待你的反馈。
作者建议:
1.真是项目中可以这样:Reset css +fonts.css /base.css/layout.css.......相结合的方式
2.在reset css中 没用到的元素可以直接拿掉,减少代码量
3.在reset css中做好版本维护信息,方便扩展
最后建议:
网上所有的Reset css 都不是你自己的Reset css ,包括玉伯整理的这个,使用前请深思本文开头的话,量身打造,只选对的,不选"贵"的。
本文转载自http://www.cnblogs.com/yizuierguo/archive/2009/07/15/1524106.html
Reset CSS:只选对的,不选"贵"的的更多相关文章
- jQuery实现复选框的全选、反选、并且根据复选框的<checked属性>控制多个对应div的显示/隐藏
<!doctype html><html> <head> <meta charset="utf-8"> <title>j ...
- Element-ui 下拉列表 全选 多选时 select全选 新增一个选择所有的选项
项目里经常会用到,在一个多选下拉框里新增一个选择所有的选项,例如: <!DOCTYPE html> <html lang="en"> <head> ...
- 谈谈一些有趣的CSS题目(十一)-- reset.css 知多少?
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- 使用AngularJS实现简单:全选和取消全选功能
这里用到AngularJS四大特性之二----双向数据绑定 注意:没写一行DOM代码!这就是ng的优点,bootstrap.css为了布局,JS代码也只是简单创建ng模块和ng控制器 效果: < ...
- checkbox 的全选与全不选
checkbox 的全选与全不选 只需要调用 cekAll.check();方法,这个方法接收两个参数: 参数一: 全选按钮的 id 以字符串的形式写 参数二: 其他 checkbox 的 name ...
- YUI Reset CSS (学习摘抄)
正在使用CSS的你,用过CSS Reset吗?当然,或许你用了,却不知道正在用,比如你可能用到: *{ margin: 0; border: 0; padding: 0; } 这 ...
- 打造自己的reset.css
http://shawphy.com/2009/03/my-own-reset-css.html 最近我对此观点有所新的看法,可以查看<真的还需要reset.css么?> 0,引言 每每有 ...
- zepto全选按钮之全选会根据按钮是否被全部选中更改状态
在做手机端二次开发购物车的时候,发现zepto全选,没找到,或者功能不是自己想要的 后来做好,分享给需要的人 //全选或多选处理 var CheckAll = $('#items_check ...
- 微信小程序复选框实现 多选一功能
功能实现界面 data: { checkboxItems: [ { name: '全天(1-8节)', value: 'allday' }, { name: '上午(1-4节)', value: 'a ...
随机推荐
- 安装和使用elasticsearch
环境: win7 64位 jdk1.8.0 elasticsearch2.3.3 在官网下载elasticsearch2.3.3:https://www.elastic.co/thank-you? ...
- neutron debug
neutron port-list neutron port-delete neutron floatingip-list neutron floatingip-delete
- JQuery lhgdialog使用
jQuery方式调用 J ); testDG4.SetPosition( 'center', 'center' );}; var testDG4 = J('#btn26').dialog({ id:' ...
- Windows 2008 R2 安装 Windows phone 7 开发环境
安装环境:1.Windows server 2008 R22.Visual Studio 2010 SP1 旗舰版 1.下载 WP7 SDK 离线安装包.(话说要选择与 VS2010 相同语言的版本) ...
- 登陆判读,并跳转到指定页面(window.location.href='http://localhost/index.html')
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 functio ...
- html5 定位 获得当前位置的经纬度
if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition, showError, { // ...
- VS2008下,aspx页面设计模式消失,只有黑白字体
版权声明:本文为博主原创文章,未经博主允许不得转载. RT,在工具选项里面重新设定的时候,报错,说一部分文件无法安装. 寻找一晚上,终于有了解决方案,供以后参考. luanwey(大陆响尾蛇)(不做温 ...
- Hive集成HBase;安装pig
Hive集成HBase 配置 将hive的lib/中的HBase.jar包用实际安装的Hbase的jar包替换掉 cd /opt/hive/lib/ ls hbase-0.94.2* rm -rf ...
- for+next()实现数组的遍历及while list each 的使用
//要求使用for循环语句来完成该数组的遍历//输出每一项的键名和对应值: $a = array( 'a' => 34, 5 => 51, ...
- xcode调试技巧
xode报错有时挺无厘头,完全不知道哪里出的问题,最后还得用排除法,记录一些工作中认为有用的调试技巧 1.左侧视图点断点视图,左下角点加号,选择exception breakpoint,类型选c++, ...