萬盛學電腦網

 萬盛學電腦網 >> 網頁制作 >> DivCSS教程 >> 目前比較全的CSS reset重設方法總結

目前比較全的CSS reset重設方法總結

 在當今網頁設計/開發實踐中,使用CSS來為語義化的(X)HTML標記添加樣式風格是重要的關鍵。在設計師們的夢想中都存在著這樣的一個完美世界:所有的浏覽器都能夠理解和適用多有CSS規則,並且呈現相同的視覺效果(沒有兼容性問題)。但是,我們並沒有生活在這個完美的世界,現實中發生的失竊卻總是恰恰相反,很多CSS樣式在不同的浏覽器中有著不同的解釋和呈現。

  當今流行的浏覽器(如:Firefox、Opera、Internet Explorer、Chrome、Safari等等)中,有一些都是以自己的方式去理解CSS規范,這就會導致有的浏覽器對CSS的解釋與設計師的CSS定義初衷相沖突,使得網頁的樣子在某些浏覽器下能正確按照設計師的想法顯示,但有些浏覽器卻並沒有按照設計師想要的樣子顯示出來,這就導致浏覽器的兼容性問題。更糟的是,有的浏覽器完全無視CSS的一些聲明和屬性。

  正因為上述沖突和問題依然存在於這個”不完美的世界”,所以一些設計師想到了一種避免浏覽器兼容性問題的方法,那就是CSS Reset,什麼是CSS Reset?我們可以把它叫做CSS重設,也有人叫做CSS復位、默認CSS、CSS重置等。CSS重設就是由於各種浏覽器解釋CSS樣式的初始值有所不同,導致設計師在沒有定義某個CSS屬性時,不同的浏覽器會按照自己的默認值來為沒有定義的樣式賦值,所以我們要先定義好一些CSS樣式,來讓所有浏覽器都按照同樣的規則解釋CSS,這樣就能避免發生這種問題。

一.最簡化的CSS Reset(重設) :

CSS Code復制內容到剪貼板
  1. * {   
  2.       padding: 0;   
  3.       margin: 0;   
  4. }  

  這是最普遍最簡單的CSS重設,將所有元素的padding和margin值都設為0,可以避免一些浏覽器在理解這兩個屬性默認值上的”分歧”。

CSS Code復制內容到剪貼板
  1. * {   
  2.        padding: 0;   
  3.        margin: 0;   
  4.        border: 0;   
  5. }  

  這是在上一個重設的基礎上添加了對border屬性的重設,初始值為0的確能避免一些問題。

CSS Code復制內容到剪貼板
  1. * {   
  2.        outline: 0;   
  3.        padding: 0;   
  4.        margin: 0;   
  5.        border: 0;   
  6. }  

  在前兩個的基礎上添加了outline屬性的重設,防止一些沖突。


二.濃縮實用型CSS Reset(重設):

CSS Code復制內容到剪貼板
  1. * {   
  2.        vertical-align: baselinebaseline;   
  3.        font-weight: inherit;    
  4.        font-family: inherit;    
  5.        font-style: inherit;   
  6.        font-size: 100%;   
  7.        outline: 0;   
  8.        padding: 0;   
  9.        margin: 0;   
  10.        border: 0;   
  11. }  

  該CSS重設方法出自Perishable Press,這是他常用的方法。

三.Poor Man 的CSS Reset:

CSS Code復制內容到剪貼板
  1. html, body {    
  2.        padding: 0;    
  3.        margin: 0;    
  4. }   
  5. html {   
  6.        font-size:1em;   
  7. }    
  8. body {   
  9.        font-size:100%;   
  10. }    
  11. a img, :link img, :visited img {   
  12.        border:0px;   
  13. }   

  這個重設方法將html和body下元素的padding和margin都設為0,並分別為html標簽和body標簽下的所有元素設置了初始的字體大小,最重要的是把有鏈接的圖片的默認邊框去掉了。

四.Siolon’s Global Reset

CSS Code復制內容到剪貼板
  1. * {    
  2.     vertical-align: baselinebaseline;   
  3.     font-family: inherit;   
  4.     fo   
  5.   
  6. nt-style: inherit;   
  7.     font-size: 100%;   
  8.     border: none;   
  9.     padding: 0;   
  10.     margin: 0;    
  11. }   
  12. body {   
  13.     padding: 5px;   
  14. }    
  15. h1, h2, h3, h4, h5, h6, p, pre, blockquote, form, ul, ol, dl {   
  16.     margin: 20px 0;   
  17. }   
  18. li, dd, blockquote {    
  19.     margin-left: 40px;   
  20. }    
  21. table {    
  22.     border-collapse: collapse;    
  23.     border-spacing: 0;    
  24. }  

五.Shaun Inman’s Global Reset

CSS Code復制內容到剪貼板
  1. body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, table, th, td, embed, object {   
  2.     padding: 0;   
  3.     margin: 0;    
  4. }   
  5. table {   
  6.     border-collapse: collapse;   
  7.     border-spacing: 0;   
  8. }   
  9.     fieldset, img, abbr {   
  10.     border: 0;   
  11. }   
  12. address, caption, cite, code, dfn, em,    
  13. h1, h2, h3, h4, h5, h6, strong, th, var {   
  14.     font-weight: normal;   
  15.     font-style: normal;   
  16. }   
  17. ul {   
  18.     list-style: none;   
  19. }   
  20. caption, th {   
  21.     text-align: left;   
  22. }   
  23. h1, h2, h3, h4, h5, h6 {  &n
copyright © 萬盛學電腦網 all rights reserved