瀏覽器自帶的CSS

大家通常看到一個沒有帶任何CSS樣式文件的HTML卻帶有不錯的樣式,這是由於在W3C的HTML標準裏,一些HTML標籤自帶一些CSS樣式。 

不同的瀏覽器把實現這些HTML自帶樣式的模塊稱作User Agent Stylesheet。 
不同的瀏覽器實現的User Agent Stylesheet不一,但大部分都能遵循W3C的標準。 
個人認爲chrome實現的User Agent Stylesheet是最符合人們閱讀習慣,例如p前後都有1em的外邊距等。 

在chrome裏的User Agent Stylesheet如下圖所示。 
 

從上圖中還可以看出瀏覽器的User Agent Stylesheet的優先級是很低的,經常被其他樣式覆蓋,這也是設置了CSS樣式文件後能夠起作用的原因。 

從CSS的英文全稱 Cascading Style Sheet,中文譯作“層疊樣式表單”, 其中cascading取義爲層疊,即不同層級的樣式表單疊加覆蓋的意思。 

其實W3C的CSS標準中有一套完整的CSS樣式的優先級規則,高優先級的樣式覆蓋低優先級,後面將逐步剖析這些優先級的規則,講解怎樣能做出高效能的CSS樣式表。 

下面是HTML4.0.1的W3C標準中默認的CSS樣式(來源於: http://www.w3.org/TR/CSS21/sample.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; unicode-bidi: embed } 
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 } 
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, select   { display: inline-block } 
big             { font-size: 1.17em } 
small, sub, sup { font-size: .83em } 
sub             { vertical-align: sub } 
sup             { vertical-align: super } 
table           { border-spacing: 2px; } 
thead, tbody, 
tfoot           { vertical-align: middle } 
td, th, tr      { vertical-align: inherit } 
s, strike, del  { text-decoration: line-through } 
hr              { border: 1px inset } 
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"; white-space: pre-line } 
center          { text-align: center } 
: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="rtl"]  { direction: rtl; unicode-bidi: bidi-override } 

*[DIR="ltr"]    { direction: ltr; unicode-bidi: embed } 
*[DIR="rtl"]    { direction: rtl; unicode-bidi: embed } 

@media print { 
  h1            { page-break-before: always } 
  h1, h2, h3, 
  h4, h5, h6    { page-break-after: avoid } 
  ul, ol, dl    { page-break-before: avoid } 
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章