導入樣式表的方法(示范)
<style type="text/css" media="all" title="應用于所有媒體的樣式">
@import url(/style/css/global.css); /*全局樣式*/
@import url(/style/css/skyblue.css); /*個性化樣式*/
body { background: url(img/body_bg.gif); } /*文檔級樣式*/
</style>
- 目前受瀏覽器支持的設備類型僅有:all(所有)、print(打印機)、screen(計算機顯示器)
- 必須在外部樣式文件開頭使用形如 @charset "gb2312"; 的At規則來指定其自身使用的字符集。
- @import 必須放置在常規樣式之前,不管是在<style>中還是在外部樣式表中。
術語
- 替換元素
- 超出 CSS 格式器范圍的元素。
- HTML中的 img, input, textarea, select, object 都是替換元素。
- 所有的替換元素且僅有替換元素才具有固有尺寸。
- 塊級元素
- 在視覺上被格式化為塊的元素。浮動元素以及display屬性等于block或list-item的元素都是塊級元素。
- 內聯元素
- 不形成新內容塊的元素。display屬性等于inline的元素都是內聯元素。
- 已定位元素
- position屬性不等于static的元素。
選擇符
- 簡單選擇符
- [E|*][#id](.class)*[:link][:visited][:hover][:active]
- 偽元素
- S[:first-letter][:first-line]
- 嵌套
- S1 S2 ... O
- 群組
- A1, A2, ... An
- 符號含義:E(元素)、S(簡單選擇符)、O(簡單選擇符|偽元素)、A(簡單選擇符|偽元素|嵌套)
- 豎線"|"表示或關系,方括號"[]"表示可選,圓括號"()"用于正則分組。
- 所有標識符(元素名、類、ID),都不能以 數字、連字符、下劃線 開頭,但是可以使用漢字。
- 偽類僅可用于超連接。偽元素僅可用于塊元素。嵌套順序中可以夾雜其他元素。
- 允許用于偽元素的屬性僅有:字體屬性、文本屬性、前景背景屬性。此外首字還可用:盒模型屬性與float屬性
- 層疊權重:!important > ID > (偽)類 > (偽)元素 > *
屬性值的數據類型
- 長度
- 絕對長度以 mm 或 pt 為單位(1pt=0.353mm)。
- 像素長度以 px 為單位(以96dpi為標準),只能取整數值。
- 相對長度以 em 為單位(等于當前font-size計算值),繼承時使用計算值。
- 百分比
- 使用 nn% 表示,是相對于另一個值的值,繼承時使用計算值。
- URL
- 使用 url(URL) 表示,必須使用"%XX"編碼特殊字符(括號/逗號/引號等),相對URL是指相對于樣式表的URL。
- 顏色
- 使用 #rrggbb 或 #rgb 十六進制法表示,其值基于sRGB色彩空間,并且gamma值為2.2。
- 字體列表
- 用逗號分割的字體名稱優先級列表(次序:英文→中文→系列),字體名稱含有空格時必須用引號界定。
- 安全英文serif(有襯線)系列字體:Georgia "Palatino Linotype" "Times New Roman"
- 安全英文sans-serif(無襯線)系列字體:Arial Tahoma "Trebuchet MS" Verdana
- 安全英文monospace(等寬)系列字體:"Courier New" "Lucida Console"
- 安全英文cursive(模擬筆跡)系列字體:"Comic Sans MS"
- 安全中文字體:宋體 仿宋_GB2312 黑體 楷體_GB2312
- 邊框樣式
- 枚舉值:none(默認) | dotted | dashed | solid | double | groove | inset | outset
- 內置列表項圖標
- 枚舉值:disc(實心圓)|circle(空心圓)|square(方塊)|decimal(數字)|lower-roman(小寫羅馬數字)|upper-roman(大寫羅馬數字)|lower-alpha(小寫字母)|upper-alpha(大寫字母)|none(無)
- 指針樣式
- 枚舉值:auto|crosshair|default|pointer|move|wait|help|progress|not-allowed
[注意]對于速記屬性,未指定的部分視為指定了默認值。
字體屬性
字體速記 |
font : font-style font-weight font-size font-family |
繼承 |
適用:所有元素 |
字體傾斜 |
font-style : normal|italic |
繼承 |
適用:所有元素 |
字體粗細 |
font-weight : normal|bold |
繼承 |
適用:所有元素 |
字體大小 |
font-size : 長度 |
繼承 |
適用:所有元素 |
字體族 |
font-family : 字體列表 |
繼承 |
適用:所有元素 |
文本屬性
文本劃線 |
text-decoration : none|(underline‖overline‖line-through) |
非繼承 |
適用:所有元素 |
字符間距 |
letter-spacing : normal|長度 |
繼承 |
適用:所有元素 |
大小寫轉換 |
text-transform : none|capitalize|uppercase|lowercase |
繼承 |
適用:所有元素 |
首行縮進量 |
text-indent : 0|長度 |
繼承 |
適用:塊元素/表格單元格/內聯塊 |
行高 |
line-height : normal|縮放系數|長度|百分比 |
繼承 |
適用:所有元素 |
縮放系數按指定值繼承 |
百分比:相對于自身的font-size屬性值 |
行高=文本高度+上下空白;normal大約相當于1.1~1.2的縮放系數。 |
水平對齊 |
text-align : left|right|center |
繼承 |
適用:塊元素/表格單元格/內聯塊 |
垂直對齊 |
vertical-align : baseline|sub|super|top|text-top|middle|bottom|text-bottom|長度|百分比 |
非繼承 |
適用:內聯元素/表格單元格 |
百分比:相對于自身的line-height屬性值 |
長度和百分比表示當前元素的基線相對于父元素基線的偏移量(上為正下為負,沒有基線則使用底線)。 |
前景和背景屬性
前景:內容+邊框。背景:背景圖+背景色。背景面積:內容+補白+邊框。透明:補白/邊框空隙/邊界。
前景色 |
color : 顏色 |
繼承 |
適用:所有元素 |
hr 元素默認不執行繼承。由于IE的錯誤,表格與圖片的邊框也不執行繼承。 |
背景速記 |
background : (transparent|顏色) (none|URL)? (0% 0%|(長度|百分比){2})? (repeat|repeat-x|repeat-y|no-repeat)? (scroll|fixed)? |
非繼承 |
適用:所有元素 |
速記含義:背景色 背景圖 背景圖位置 背景圖平鋪 背景圖滾動 |
百分比:相對于盒子自身內容+補白區域的尺寸,將背景圖與背景區域各自相同偏移量的點對齊。 |
列表屬性
列表項樣式 |
list-style : 內置列表項圖標 (none|URL) (outside|inside) |
繼承 |
適用:列表項元素 |
速記含義:內置列表項圖標 自定義列表項圖標 圖標位置 |
表格屬性
表格布局算法 |
table-layout : auto|fixed |
非繼承 |
適用:table 元素 |
單元格邊框模型 |
border-collapse : separate|collapse |
繼承 |
適用:表格元素 |
指針屬性
指針樣式 |
cursor : 指針樣式 |
繼承 |
適用:所有元素 |
盒模型屬性
- 由內到外的層次:內容 → 補白 → 邊框 → 邊界
- 由上到下的層次:邊框 → 內容+補白 → 背景圖 → 背景色 → 邊界
內容寬度|高度 |
width|height : auto|長度|百分比 |
非繼承 |
適用:塊元素/替換元素 |
百分比:相對于包含框的width|height屬性值 |
內聯盒子的高度與height屬性無關 |
補白寬度 |
padding : 0|(長度|百分比){1,4} |
非繼承 |
適用:display不等于table-*的所有元素 |
百分比:相對于包含框的width屬性值 |
邊界寬度 |
margin : 0|(長度|百分比|auto){1,4} |
非繼承 |
適用:display不等于table-*的所有元素 |
百分比:相對于包含框的width屬性值 |
上下邊界寬度對非替換內聯元素無效。將左右邊界設為auto是將塊元素居中的正確做法。 |
邊框速記 |
border|border-top|border-bottom|border-left|border-right : 邊框樣式 長度 (顏色|transparent)? |
非繼承 |
適用:所有元素 |
速記含義:邊框樣式 邊框寬度 邊框顏色 |
當邊框樣式樣式為none時,邊框寬度自動強制為零。 |
邊界重疊
邊界重疊是指兩個或多個盒子(可能相鄰也可能嵌套)的相鄰邊界(其間沒有任何非空內容、補白、邊框)重合在一起而形成一個單一邊界。
常規流中兩個或多個塊級盒子的垂直相鄰邊界會重合。結果的邊界寬度是相鄰邊界寬度中最大的值。如果出現負邊界,則在最大的正邊界中減去絕對值最大的負邊界。如果沒有正邊界,則從零中減去絕對值最大的負邊界。注意:相鄰的盒子可能并非是由父子關系或同胞關系的元素生成。
但是邊界的重疊也有例外情況:
- 水平邊界永遠不會重疊。
- 浮動盒子、絕對定位盒子、內聯塊盒子、根盒子的邊界永不重疊。
- overflow屬性不等于visible的元素與它的非浮動子元素之間邊界不發生重疊。
顯示屬性
顯示類型 |
display : inline|block|list-item|table-header-group|table-footer-group|none |
非繼承 |
適用:所有元素 |
可見性 |
visibility : visible|hidden |
繼承 |
適用:所有元素 |
溢出模式 |
overflow : visible|hidden|scroll|auto |
非繼承 |
適用:非替換塊元素/表格單元格/內聯塊 |
定位與布局屬性
定位方式 |
position : static|relative|absolute |
非繼承 |
適用:所有元素 |
邊界偏移量 |
top|bottom|left|right : 長度|百分比|auto |
非繼承 |
適用:已定位元素 |
百分比:垂直|水平相對于包含框的height|width屬性值 |
絕對定位偏移量相對于上一級已定位盒子的內容邊沿,相對定位偏移量相對于原始的位置。 |
浮動 |
float : none|left|right |
非繼承 |
適用:所有元素 |
浮動的盒子必須有一個顯式的寬度(通過width屬性指定,或對于替換元素具有固有寬度),任何浮動盒子都成為一個塊盒子。 |
避讓浮動 |
clear : none|left|right|both |
非繼承 |
適用:塊元素 |
Z軸順序 |
z-index : auto|整數 |
非繼承 |
適用:已定位元素 |
display, position, float 之間的相互關系:
- 如果display等于none,則用戶端必須忽略position和float。在這種情況下,元素不產生盒子。
- 否則,如果position等于absolute,則display與float皆強制為none(list-item保持不變)。盒子的位置由邊界偏移量確定。
- 否則,如果float不等于none或該元素是根元素,則display強制為block(list-item保持不變)。
- 否則,使用指定的display屬性。
HTML默認樣式
html,body,div, h1,h2,h3,h4,h5,h6,p, ol,ul,dl,dt,dd,
form,fieldset, blockquote,address,hr,pre { display: block }
input,select { display: inline-block }
li { display: list-item }
head { display: none }
table { display: table }
caption { display: table-caption }
thead { display: table-header-group }
tbody { display: table-row-group }
tfoot { display: table-footer-group }
tr { display: table-row }
col { display: table-column }
colgroup { display: table-column-group }
td, th { display: table-cell }
caption { text-align: center }
th { font-weight: bolder; text-align: center }
body { margin: 8px }
blockquote { margin-left: 40px; margin-right: 40px }
h4,p,blockquote,ul,fieldset,form,ol,dl { margin: 1.12em 0 }
h1 { font-size: 2em; margin: 0.67em 0 }
h2 { font-size: 1.5em; margin: 0.75em 0 }
h3 { font-size: 1.17em; margin: 0.83em 0 }
h5 { font-size: 0.83em; margin: 1.5em 0 }
h6 { font-size: 0.75em; margin: 1.67em 0 }
pre { white-space: pre }
h1,h2,h3,h4,h5,h6,strong { font-weight: bolder }
cite,em,var,address { font-style: italic }
pre,code,kbd,samp { font-family: monospace }
button, textarea,table { border-spacing: 2px; }
thead,tbody,tfoot { vertical-align: middle }
td, th { vertical-align: inherit }
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 }
:link, :visited { text-decoration: underline }
posted on 2007-05-10 20:40
???MengChuChen 閱讀(364)
評論(0) 編輯 收藏 所屬分類:
JAVAEE