樣式重置 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過來,即浪費代碼又浪費性能。好了就到這里吧,如果文中有錯誤的地方還望指正,我們共同進步吧。

  今天周一上班感覺好困啊,如今天氣冷了早上根本就起不來,有多少人跟我一樣周一是一個迷糊的一天。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM