瀏覽器自帶的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 }
}
不同的瀏覽器把實現這些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 }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.