CSS教程 01 基礎部分
根據W3school CSS教程的部分總結
優先順序
- 行內樣式(在 HTML 元素中
<h1 style="color:red;">CSS</h1>
) - 外部和內部樣式表(在 head 部分)
- 瀏覽器預設樣式
如果在不同樣式表中為同一選擇器(元素)定義了一些屬性,則將使用最後讀取的樣式表中的值。
註釋
位於style元素內的 CSS 註釋,以 /* 開始,以 */ 結束
<!--...-->
語法在 HTML 原始碼中添加註釋
CSS背景
background屬性簡寫:
background: #ffffff url("tree.png") no-repeat right top; }
屬性 | 作用 |
---|---|
background-color | 指定顏色、透明度 |
background-image | 指定背景影象 |
background-repeat | 背景影象重複方式:水平、垂直、不重複(repeat-x, repeat-y, no-repeat) |
background-attachment | 指定背景影象是應該滾動(scroll)還是固定的(fixed) |
background-position | 指定背景影象的位置(如 right top) |
CSS邊框
border 屬性指定元素邊框的樣式、寬度和顏色。
border-radius 屬性設定圓角邊框。
border屬性簡寫:
border: 5px solid red;
/*可以指定上下左右*/
border-left: 6px solid red;
border-top-style: dotted;
屬性 | 作用 |
---|---|
border-width | 指定四個邊框的寬度 |
border-style(必需) | 指定要顯示的邊框型別 |
border-color | 設定四個邊框的顏色 |
border-style
屬性允許以下值:
屬性值 | 樣式 |
---|---|
dotted | 定義點線邊框 |
dashed | 定義虛線邊框 |
solid | 定義實線邊框 |
double | 定義雙邊框 |
groove | 定義 3D 坡口邊框。效果取決於 border color 值 |
ridge | 定義 3D 脊線邊框。效果取決於 border color 值 |
inset | 定義 3D inset 邊框。效果取決於 border color 值 |
outset | 定義 3D outset 邊框。效果取決於 border color 值 |
none | 定義無邊框 |
hidden | 定義隱藏邊框 |
border-radius
屬性用於向元素新增圓角邊框:
border-radius: 5px;
CSS框模型
元素總寬度 = 寬度 + 左內邊距 + 右內邊距 + 左邊框 + 右邊框 + 左外邊距 + 右外邊距
元素總高度 = 高度 + 上內邊距 + 下內邊距 + 上邊框 + 下邊框 + 上外邊距 + 下外邊距
css外邊距
CSS margin 屬性用於在任何定義的邊框之外,為元素周圍建立空間。
margin可指定上右下左(順時針)外邊距。
margin-top / margin-right / margin-bottom / margin-left
屬性值 | 說明(允許負值) |
---|---|
auto | 瀏覽器來計算外邊距,使元素在其容器中水平居中 |
length | 以 px、pt、cm 等單位指定外邊距 |
% | 指定以包含元素寬度的百分比計的外邊距 |
inherit | 指定應從父元素繼承外邊距 |
外邊距合併
外邊距合併指的是,當兩個垂直外邊距相遇時,它們將形成一個外邊距。
合併後的外邊距的高度等於兩個發生合併的外邊距的高度中的較大者。
CSS內邊距
CSS padding 屬性用於在任何定義的邊界內的元素內容周圍生成空間。
屬性值 | 說明(不允許負值) |
---|---|
length | 以 px、pt、cm 等單位指定外邊距 |
% | 指定以包含元素寬度的百分比計的外邊距 |
inherit | 指定應從父元素繼承外邊距 |
內邊距和元素寬度
CSS width 屬性指定元素內容區域的寬度。內容區域是元素(盒模型)的內邊距、邊框和外邊距內的部分。
在指定元素寬度的情況下,設定內邊距會使元素實際寬度增加。
要保持元素寬度,可設定box-sizing屬性border-box,但元素的可用內容空間會減少。
Box Sizing屬性
定義元素寬度和高度的計算方式:它們是否應包含內邊距(padding)和邊框。
* {
box-sizing: border-box;
}
CSS設定高度和寬度
height 和 width 屬性用於設定元素的高度和寬度,不包括內邊距、邊框或外邊距。它設定的是元素內邊距、邊框以及外邊距內的區域的高度或寬度。
屬性值 | 說明 |
---|---|
auto | 預設。瀏覽器計算高度和寬度。 |
length | 以 px、cm 等定義高度/寬度。 |
% | 以包含塊的百分比定義高度/寬度。 |
initial | 將高度/寬度設定為預設值。 |
inherit | 從其父值繼承高度/寬度。 |
max-width可設定元素的最大寬度。
CSS輪廓
輪廓是在元素周圍繪製的一條線,在邊框之外,以凸顯元素。
簡寫outline屬性:
outline: 5px solid yellow;
注意:輪廓與邊框不同!不同之處在於:輪廓是在元素邊框之外繪製的,並且可能與其他內容重疊。同樣,輪廓也不是元素尺寸的一部分;元素的總寬度和高度不受輪廓線寬度的影響。
屬性 | 作用 |
---|---|
outline-style(必需) | 指定輪廓的樣式,可設定的值同border-style |
outline-color | 設定輪廓的顏色,可設定name、HEX、RGB、HSL、invert(反轉顏色,確保輪廓可見) |
outline-width | 指定輪廓的寬度,可設定為thin、medium、thick或特定尺寸 |
outline-offset | 指定輪廓與元素的邊緣或邊框之間的空間 |
outline | 輪廓屬性簡寫 |
CSS文字
屬性 | 描述 | 屬性值 |
---|---|---|
color | 設定文字顏色。 | |
direction | 指定文字的方向 / 書寫方向。 | ltr(預設)從左到右,rtl從右到左,inherit繼承 |
letter-spacing | 設定字元間距。 | |
line-height | 設定行高。 | |
text-align | 指定文字的水平對齊方式。 | justify 會拉伸線條,使每條線都有相等的寬度 |
text-decoration | 指定新增到文字的裝飾效果。 | none 通常用於從連結上刪除下劃線 |
text-indent | 指定文字塊中首行的縮排。 | |
text-shadow | 指定新增到文字的陰影效果。 | text-shadow: 2px 2px 5px red;水平、垂直、模糊、顏色 |
text-transform | 控制文字的大小寫。 | uppercase|lowercase|capitalize |
text-overflow | 指定應如何向用戶示意未顯示的溢位內容。 | clip|ellipsis|string 裁剪、省略、替換 |
unicode-bidi | 與 direction 屬性一起使用,設定或返回是否應重寫文字來支援同一文件中的多種語言。 | normal|embed|bidi-override|initial|inherit |
vertical-align | 指定文字的垂直對齊方式。 | top|middle|bottom |
white-space | 指定如何處理元素內的空白。 | nowrap 禁用元素內的文字換行 |
word-spacing | 設定單詞間距。 |
字型
通用字型族
字型族 | 描述 |
---|---|
襯線字型(Serif) | 在每個字母的邊緣都有一個小的筆觸。它們營造出一種形式感和優雅感。 |
無襯線字型(Sans-serif) | 字型線條簡潔(沒有小筆畫)。它們營造出現代而簡約的外觀。 |
等寬字型(Monospace) | 這裡所有字母都有相同的固定寬度。它們創造出機械式的外觀。 |
草書字型(Cursive) | 模仿了人類的筆跡。 |
幻想字型(Fantasy) | 是裝飾性/俏皮的字型。 |
字型屬性
簡寫font屬性:
p.a {
font: 20px Arial, sans-serif;
}
p.b {
font: italic small-caps bold 12px/30px Georgia, serif;
}
屬性 | 描述 |
---|---|
font-style | 規定文字的字型樣式。(normal italic oblique) |
font-variant | 規定是否以小型大寫字母的字型顯示文字。 |
font-weight | 規定字型的粗細。 |
font-size(必需)/line-height | 規定文字的字型大小/行高。 |
font-family(必需) | 規定文字的字體系列(字型族)。 |
圖示
使用圖示庫將指定的圖示類的名稱新增到任何行內 HTML 元素(如 i 或 span),以下為bootstrap圖示和Google圖示
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<i class="glyphicon glyphicon-cloud"></i>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<i class="material-icons">cloud</i>
連結
連結有四種狀態,可根據連結狀態設定不同的連結樣式。
狀態 | 描述 |
---|---|
a:link | 正常的,未訪問的連結 |
a:visited | 使用者訪問過的連結 |
a:hover | 使用者將滑鼠懸停在連結上時 |
a:active | 連結被點選時 |
列表 list-style
簡寫屬性:
ul {
list-style: square inside url("sqpurple.gif");
}
屬性 | 說明 |
---|---|
list-style-type | 規定列表項標記的型別 |
list-style-position | 規定列表項標記(專案符號)的位置 |
list-style-image | 指定影象作為列表項標記 |
表格
屬性 | 描述 |
---|---|
border | 簡寫屬性。在一條宣告中設定所有邊框屬性。 |
border-collapse | 規定是否應摺疊表格邊框。 |
border-spacing | 規定相鄰單元格之間的邊框的距離。 |
caption-side | 規定表格標題的位置。 |
empty-cells | 規定是否在表格中的空白單元格上顯示邊框和背景。 |
table-layout | 設定用於表格的佈局演算法。 |