CSS進階之路
阿新 • • 發佈:2017-05-07
模式 ant 表格 weight mil 比較 標題 根據 amp
下面主要引用http://www.cnblogs.com/wangfupeng1988/tag/css知多少/
CSS進階筆記:
一、學習CSS的三個突破點
1.瀏覽器如何加載和解析CSS——CSS的5個來源;
2.CSS和html如何結合起來——選擇器;
3.CSS能控制那些顯示方式——盒子模式、浮動、定位、背景、字體等;
下面分開闡述:
1.瀏覽器如何加載和解析CSS
(1) 瀏覽器默認樣式表
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版本,部分元素在XHTML1中將廢棄*/ 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 } }
(2) 用戶樣式表(不常用)
(3) <link>引用的css文件
(4) <style>中編寫的樣式代碼
(5) <a style=’ ’>中編寫的樣式代碼
2.常見問題:
(1) 不同瀏覽器默認樣式不一致
解決方法:* {margin:0; padding:0;}
(2) 層疊錯誤
首先得知道層疊規則:
瀏覽器會把各個零散的整合成一個整體,瀏覽器會讓後者覆蓋前者;特殊情況——!imporment(最高執行權,後面層疊不會影響它)
Demo如下:
3.差異比較
(1) div {display:block}(默認)、table{display:table}、td,th{display:table-cell}
a. div寬度和父容器相同,table寬度根據內容而定——即table具有“包裹性”;
b. table-cell 用法舉例:
用table-cell,像用table一樣做多列布局,做出來的效果和table做出來的效果是一模一樣的;
CSS進階之路