新浪的初始化:html
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 }
京东的初始化:web
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 }
大众版初始化:canvas
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这些标签日常咱们网站上也用不到,因此就不必重置,像京东这种一个 * 号所有重置,本着宁肯错杀三千也不放过一个这么暴力的作法最好避免,不,应该是杜绝这种写法,不过你们在写一个简单的测试页面的时候能够暂时用一下,由于我平时也是这么写的,主要是快速不用写太多标签,注意只是测试暂时能够用一下。。。浏览器
还有一些h一、h二、h三、h四、h五、h6这些标签也能够酌情处理,通常用到几个就写几个不用所有重置,像h1这个标签按其seo方面来考虑,一个页面最好只有一个,因此不必开始的时候就重置其样式,等你按设计稿写样式的时候又重置一次,这样就至关于浏览器渲染了2次,彻底没有必要,你可能会说这也没几个不会有什么影响,错,既然咱们是作重构的就要本着能少则少的理念去作,现在时间就是金钱,即便提升0.1秒的载入时间咱们也是有必要去争取的。app
网上特地搜了一下html标签的默认样式和浏览器默认样式,整理了一下有兴趣的能够看一下~ide
/*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 } } /*浏览器默认样式*/ //一、页边距 //IE默认为10px,经过body的margin属性设置 //FF默认为8px,经过body的padding属性设置 //要清除页边距必定要清除这两个属性值 body { margin:0; padding:0; } //二、段间距 //IE默认为19px,经过p的margin-top属性设置 //FF默认为1.12em,经过p的margin-bottom属性设 //p默认为块状显示,要清除段间距,通常能够设置 p { margin-top:0; margin-bottom:0; } //三、标题样式 //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; } //四、列表样式 //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; //五、超连接样式a 样式默认带有下划线,显示颜色为蓝色,被访问过的超连接变紫色,要清除连接样式,通常能够设置 a { text-decoration:none; color:#colorname; } //六、鼠标样式 //IE默认为cursor:hand; //FF默认为cursor:pointer;该声明在IE中也有效 //七、图片连接样式 //IE默认为紫色2px的边框线 //FF默认为蓝色2px的边框线 //要清除图片连接样式,通常能够设置 img { border:0; }
总结一下,咱们写代码的时候能够参考别人的代码,找到本身须要的,不用所有都copy过来,即浪费代码又浪费性能。好了就到这里吧,若是文中有错误的地方还望指正,咱们共同进步吧。性能
今天周一上班感受好困啊,现在天气冷了早上根本就起不来,有多少人跟我同样周一是一个迷糊的一天。。。测试