样式重置 css reset

【转】样式重置 css reset

 

新浪的初始化:

 1 html,body,ul,li,ol,dl,dd,dt,p,h1,h2,h3,h4,h5,h6,form,fieldset,legend,img {
 2     margin: 0;
 3     padding: 0
 4 }
 5 fieldset,img {
 6     border: 0
 7 }
 8 img {
 9     display: block
10 }
11 address,caption,cite,code,dfn,th,var {
12     font-style: normal;
13     font-weight: normal
14 }
15 ul,ol {
16     list-style: none
17 }
18 input {
19     padding-top: 0;
20     padding-bottom: 0;
21     font-family: "SimSun","宋体"
22 }
23 input::-moz-focus-inner {
24     border: 0;
25     padding: 0
26 }
27 select,input {
28     vertical-align: middle
29 }
30 select,input,textarea {
31     font-size: 12px;
32     margin: 0
33 }
34 input[type="text"],input[type="password"],textarea {
35     outline-style: none;
36     -webkit-appearance: none
37 }
38 textarea {
39     resize: none
40 }
41 table {
42     border-collapse: collapse
43 }

京东的初始化:

 1 * {
 2     margin: 0;
 3     padding: 0
 4 }
 5 em,i {
 6     font-style: normal
 7 }
 8 li {
 9     list-style: none
10 }
11 img {
12     border: 0;
13     vertical-align: middle
14 }
15 button {
16     cursor: pointer
17 }
18 a {
19     color: #666;
20     text-decoration: none
21 }
22 a:hover {
23     color: #c81623
24 }

大众版初始化:

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
h1,h2,h3,h4,h5,h6,em,i {
    font-weight: 100;
    font-style: normal
}
ul,ol,li {
    list-style-type: none
}
a {
    color: #666;
    text-decoration: none;
    outline: 0
}
a:hover {
    text-decoration: none
}  

 

  看到这些是不是感觉自己平时也是这么写的?其实我之前也是这么写的,后来看到张鑫旭大神的文章后才知道有一种更好的写法,更简单、更高效。自己也已经亲测过了div、li、tr、td这种标签默认就没有margin和padding,dt标签的默认的margin和padding就是0,还有dfn, ins, kbd, q, samp, sub, sup, var这些标签平常我们网站上也用不到,所以就没必要重置,像京东这种一个 * 号全部重置,本着宁可错杀三千也不放过一个这么暴力的做法最好避免,不,应该是杜绝这种写法,不过大家在写一个简单的测试页面的时候可以暂时用一下,因为我平时也是这么写的,主要是快速不用写太多标签,注意只是测试暂时可以用一下。。。

  还有一些h1、h2、h3、h4、h5、h6这些标签也可以酌情处理,一般用到几个就写几个不用全部重置,像h1这个标签按其seo方面来考虑,一个页面最好只有一个,所以没必要开始的时候就重置其样式,等你按设计稿写样式的时候又重置一次,这样就相当于浏览器渲染了2次,完全没有必要,你可能会说这也没几个不会有什么影响,错,既然我们是做重构的就要本着能少则少的理念去做,如今时间就是金钱,即使提高0.1秒的载入时间我们也是有必要去争取的。

  网上特意搜了一下html标签的默认样式和浏览器默认样式,整理了一下有兴趣的可以看一下~

/*html标签默认样式*/
html, address,blockquote,body, dd, div,dl, dt, fieldset, form,frame, frameset,h1, h2, h3, h4,h5, h6, noframes,ol, p, ul, center,dir, hr, menu, pre { display: block }
/*以上列表元素默认状态下以块状显示,未显示的将以内联元素显示,该列表针对HTML4版本,部分元素在HTML5中已废弃*/ 
li { display: list-item }/*默认以列表显示*/ 
head { display: none }/*默认不显示*/ 
table { display: table }/*默认为表格显示*/ 
tr { display: table-row }/*默认为表格行显示*/ 
thead { display: table-header-group }/*默认为表格头部分组显示*/ 
tbody { display: table-row-group }/*默认为表格行分组显示*/ 
tfoot { display: table-footer-group }/*默认为表格底部分组显示*/ 
col { display: table-column }/*默认为表格列显示*/ 
colgroup { display: table-column-group }/*默认为表格列分组显示*/ 
td, th { display: table-cell; }/*默认为单元格显示*/ 
caption { display: table-caption }/*默认为表格标题显示*/ 
th { font-weight: bolder; text-align: center }/*默认为表格标题显示,呈现加粗居中状态*/ 
caption { text-align: center }/*默认为表格标题显示,呈现居中状态*/ 
body { margin: 8px; line-height: 1.12 } 
h1 { font-size: 2em; margin: .67em 0 } 
h2 { font-size: 1.5em; margin: .75em 0 } 
h3 { font-size: 1.17em; margin: .83em 0 } 
h4, p, blockquote, ul, fieldset, form, ol, dl, dir, menu { margin: 1.12em 0 } 
h5 { font-size: .83em; margin: 1.5em 0 } 
h6 { font-size: .75em; margin: 1.67em 0 } 
h1, h2, h3, h4, h5, h6, b,strong { font-weight: bolder } 
blockquote { margin-left: 40px; margin-right: 40px } 
i, cite, em,var, address { font-style: italic } 
pre, tt, code, kbd, samp { font-family: monospace } 
pre { white-space: pre } 
button, textarea, input, object, select { display:inline-block; } 
big { font-size: 1.17em } 
small, sub, sup { font-size: .83em } 
sub { vertical-align: sub }/*定义sub元素默认为下标显示*/ 
sup { vertical-align: super }/*定义sub元素默认为上标显示*/ 
table { border-spacing: 2px; } 
thead, tbody, tfoot { vertical-align: middle }/*定义表头、主体表、表脚元素默认为垂直对齐*/ 
td, th { vertical-align: inherit }/*定义单元格、列标题默认为垂直对齐默认为继承*/ 
s, strike, del { text-decoration: line-through }/*定义这些元素默认为删除线显示*/ 
hr { border: 1px inset }/*定义分割线默认为1px宽的3D凹边效果*/ 
ol, ul, dir, menu, dd { margin-left: 40px } 
ol { list-style-type: decimal } 
ol ul, ul ol, ul ul, ol ol { margin-top: 0; margin-bottom: 0 } 
u, ins { text-decoration: underline } 
br:before { content: ""A" }/*定义换行元素的伪对象内容样式*/ 
:before, :after { white-space: pre-line }/*定义伪对象空格字符的默认样式*/ 
center { text-align: center } 
abbr, acronym { font-variant: small-caps; letter-spacing: 0.1em } 
:link, :visited { text-decoration: underline } 
:focus { outline: thin dotted invert } 
/* Begin bidirectionality settings (do not change) */ 
BDO[DIR="ltr"] { direction: ltr; unicode-bidi: bidi-override}
/*定义BDO元素当其属性为DIR="ltr"时的默认文本读写显示顺序*/ 
BDO[DIR="rtl"] { direction: rtl; unicode-bidi: bidi-override}
/*定义BDO元素当其属性为DIR="rtl"时的默认文本读写显示顺序*/ 
*[DIR="ltr"] { direction: ltr; unicode-bidi: embed}
/*定义任何元素当其属性为DIR="ltr"时的默认文本读写显示顺序*/ 
*[DIR="rtl"] { direction: rtl; unicode-bidi: embed}
/*定义任何元素当其属性为DIR="rtl"时的默认文本读写显示顺序*/ 
@media print { /*定义标题和列表默认的打印样式*/ 
h1 { page-break-before: always } 
h1, h2, h3, h4, h5, h6 { page-break-after: avoid } 
ul, ol, dl { page-break-before: avoid } 
} 



/*浏览器默认样式*/

//1、页边距
//IE默认为10px,通过body的margin属性设置
//FF默认为8px,通过body的padding属性设置
//要清除页边距一定要清除这两个属性值

 body {
margin:0;
padding:0;
}

//2、段间距
//IE默认为19px,通过p的margin-top属性设置
//FF默认为1.12em,通过p的margin-bottom属性设
//p默认为块状显示,要清除段间距,一般可以设置

 p {
margin-top:0;
margin-bottom:0;
 }

//3、标题样式
//h1~h6默认加粗显示:font-weight:bold;。
//默认大小请参上表
//还有是这样的写的

 h1 {font-size:xx-large;}
 h2 {font-size:x-large;}
 h3 {font-size:large;}
 h4 {font-size:medium;}
 h5 {font-size:small;}
 h6 {font-size:x-small;}

/*个大浏览器默认字体大小为16px,即等于medium,h1~h6元素默认以块状显示字体显示为粗体,要清除标题样式,一般可以设置*/

hx {
font-weight:normal;
font-size:value;
 }

//4、列表样式
//IE默认为40px,通过ul、ol的margin属性设置
//FF默认为40px,通过ul、ol的padding属性设置
//dl无缩进,但起内部的说明元素dd默认缩进40px,而名称元素dt没有缩进。
//要清除列表样式,一般可以设置

ul, ol, dd {
list-style-type:none;
margin-left:0;
padding-left:0;
}

// 元素居中
// IE默认为text-align:center;
// FF默认为margin-left:auto;margin-right:auto;

//5、超链接样式a 样式默认带有下划线,显示颜色为蓝色,被访问过的超链接变紫色,要清除链接样式,一般可以设置

a {
text-decoration:none;
color:#colorname;
}

//6、鼠标样式
//IE默认为cursor:hand;
//FF默认为cursor:pointer;该声明在IE中也有效

//7、图片链接样式
//IE默认为紫色2px的边框线
//FF默认为蓝色2px的边框线
//要清除图片链接样式,一般可以设置

img {
border:0;
}
View Code

  总结一下,我们写代码的时候可以参考别人的代码,找到自己需要的,不用全部都copy过来,即浪费代码又浪费性能。好了就到这里吧,如果文中有错误的地方还望指正,我们共同进步吧。

posted @ 2018-01-13 22:38  Fairyspace  阅读(151)  评论(0编辑  收藏  举报