# CSS 標籤整理
###### tags: `網頁` `CSS`
[![](https://img.shields.io/badge/dynamic/json?color=orange&label=總觀看人數&query=%24.viewcount&url=https://hackmd.io/FlcMQiyVQO2F5WgAH2bKUQ%2Finfo)]()
### 基本HTML範例
```htmlmixed=
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<style></style>
</head>
<body>
<p>Hello CSS!</p>
<p>These paragraphs are styled with CSS.</p>
</body>
</html>
```
### CSS 基本語法
![](https://i.imgur.com/fILgwjL.gif)
Selector(選擇器) - 通常是元素、類別或ID
Declaration(宣告) - 由Property(屬性)和Value(值)所組成,宣告間以分號區隔,最外圍用大括號括住。
### CSS 套用方法
1. 行內載入
寫在元素標籤後面,原始的寫法,較不易更改和維護
```htmlmixed=
<p style="color:red; font-size:20px;">
```
2. 內部載入
格式放在`<head>`的`<style>`中,設定相對應選擇器的格式,可同時做新增、修改
```htmlmixed=
<head>
<style>
p
{
width: 200px;
height: 40px;
background: #b6ff00;
}
</style>
</head>
```
3. 外部載入
將CSS格式獨立寫成*.css檔,從HTML內部載入外部的檔案即可,寫法是在`<head>`使用`<link>`,或是在`<style>`中使用@import載入外部檔案
```htmlmixed=
<head>
<link href="basis.css" rel="stylesheet"/>
</head>
```
```htmlmixed=
<head>
<style type=text/css>
@import url(basis.css);
</style>
</head>
```
### CSS 各類選擇器
1. 類別選擇器
可多重繼承
```htmlmixed=
<style>
.name
{
color: red;
}
</style>
<body>
<p class="name"></p>
</body>
```
2. ID選擇器
只能單一繼承
```htmlmixed=
<style>
#id01
{
color: red;
}
</style>
<body>
<p id="id01"></p>
</body>
```
3. 標籤選擇器
可指定標籤名稱,所有相同標籤名稱都會套用此格式
```htmlmixed=
<style>
p
{
color: red;
}
</style>
<body>
<h2></h2> <!--這項不套用紅字-->
<p></p> <!--這項套用紅字-->
</body>
```
4. 群組選擇器
可將多個指定的選擇器套用相同的格式
```htmlmixed=
<style>
h2,p
{
color: red;
}
</style>
<body>
<h2></h2> <!--這項套用紅字-->
<p></p> <!--這項套用紅字-->
</body>
```
5. 屬性選擇器
可指定屬性套用相同的格式,有多種寫法
1. 標籤[屬性]
選擇標籤元素指定的屬性
2. 標籤[屬性 = "值"]
選擇標籤元素指定的屬性和值(需一模一樣)
3. 標籤[屬性 ~= "值"]
選擇標籤元素指定的屬性包含值的設定,設定包含值使用空格隔開單字,只要一個單字符合,即套用相同格式
4. 標籤[屬性 |= "值"]
選擇標籤元素的屬性值是開頭文字加上-符號
5. 標籤[屬性 ^= "值"]
選擇標籤元素的指定屬性,其值符合開頭文字
6. 標籤[屬性 \$= "值"]
選擇標籤元素的指定屬性,其值符合結尾文字
7. 標籤[屬性 \*= "值"]
選擇標籤元素的指定屬性,其值符合任何一處文字
6. 後代選擇器
指定父標籤下的所有子標籤套用CSS格式
```htmlmixed=
父名稱 子名稱
{
屬性1: 值1;
屬性2: 值2;
}
```
7. 子選擇器
和後代選擇器差不多,只差在層級須完全相同
```htmlmixed=
父名稱>子名稱
{
屬性1: 值1;
屬性2: 值2;
}
```
### CSS 虛構類別
- `a:link` 未照訪的網站
- `a:visited` 照訪過的網站
- `選擇器:hover` 游標觸碰到的狀態
- `選擇器:active` 點擊時的狀態
- `選擇器:focus` 按下元件後的狀態
- `選擇器:enable` 啟用元件的狀態,通常是input元件
- `選擇器:disable` 未啟用元件的狀態,通常是input元件
- `選擇器:first-child` 該選擇器中第一個出現的
- `選擇器:last-child` 該選擇器中最後一個出現的
- `選擇器:n-child(odd)` 選擇器中的奇數個出現的
- `選擇器:n-child(odd)` 選擇器中的偶數個出現的
### CSS 虛構元素
- `選擇器::first-line` 選擇器中第一行的狀態
- `選擇器::first-letter` 選擇器中第一行第一個字母的狀態
- `選擇器::before` 選擇器緊臨前方位置的狀態
```htmlmixed=
h1::before
{
content: url(image.gif);
}
```
- `選擇器::after` 選擇器緊臨後方位置的狀態
```htmlmixed=
h1::after
{
content: url(image.gif);
}
```
- `選擇器::selection`反白部分的狀態
### CSS 顏色
> 範例 : CSS08.htm
- `color:值` 設定文字顏色,可以顏色名稱、數字和百分比來呈現
- 顏色名稱,如red、blue
- 數字,如#ff00a3、rgb(255,255,0)
- 百分比,如rgb(100%,50%,0%)
- rgb(紅色,綠色,藍色)
- rgba(紅色,綠色,藍色,透明度)
- `opacity:值` 設定透明度(圖片)
屬性是0~1小數,數字越小代表透明度越高
##### 漸層
- `background:radial-gradient(形狀/大小/指定位置,色彩停止點1,色彩停止點2,...,色彩停止點n)` 放射漸層
- 形狀,如circle、ellipse
- 距離,度量單位,代表從中心點向外的半徑
- 指定位置,如 at + top、bottom、left、right
- 色彩停止點,色彩後空一格加上百分比或度量單位
<h1 style="background: radial-gradient(circle,black,silver); color:white;">
圓黑外漸</h1>
<h1 style="background: radial-gradient(20px,black, silver); color:white">
圓黑20像素</h1>
<h1 style="background:radial-gradient(at top,black,silver 50%); color:white">
圓心在上</h1>
- `background:linear-gradient(方向,色彩停止點1,色彩停止點2,...,色彩停止點n)` 線性漸層
- 方向,如0deg、90deg
- 指定位置,如 to + top、bottom、left、right
<h1 style="background:linear-gradient(to left,silver 50%,black); color:white;">
標題常用</h1>
<h1 style="background:linear-gradient(0deg,silver,black); color:white;">
由下而上</h1>
<h1 style="background:linear-gradient(90deg,silver,black); color:white;">
由左而右</h1>
<h1 style="background:linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet); color:white;"> 彩虹</h1>
<div style="background: linear-gradient(217deg, rgba(255,0,0,.8), rgba(255,0,0,0) 70.71%),
linear-gradient(127deg, rgba(0,255,0,.8), rgba(0,255,0,0) 70.71%),
linear-gradient(336deg, rgba(0,0,255,.8), rgba(0,0,255,0) 70.71%);
width:500px; height:500px;"></div>
- `background:repeating-radial-gradient(屬性值)` 重複漸層
`background:repeating-linear-gradient(屬性值)`
<h1 style="background:repeating-linear-gradient(to right,green 50%,lightgreen,darkgreen); color:white;">
重複</h1>
<h1 style="background:repeating-radial-gradient(blue 30px,lightblue,blue); color:white;">
圓型重複</h1>
<h1 style="background:repeating-linear-gradient(pink,orange 20px,red 40px); color:white; height:100px">
上下間隔</h1>
### CSS 文字
- `font-size:值` 改變字體大小
- px 像素點
- cm 公分
- mm 公釐
- em 上層元素的相對大小
- xx-small、x-small、small、medium、large、x-large、xx-large 預設大小
- 200% 相對大小
- `font-family:字型1,字型2,...` 改變文字字型
靠左優先,無法顯示時則顯示新細明體
- 標楷體
- 微軟正黑體
- 也可以從網路上抓取字型,如[Google字型](https://fonts.google.com/)
- `font-style:值` 斜體字
- iralic 斜體字
- normal 正常
- `font-weight:值` 改變文字粗細
- 數值,100~900數字越大越粗
- lighter、normal、bold、bolder,預設值
- `font:斜體字 文字粗細 字體大小 文字字型` 設定font簡便寫法
- `text-decoration:值` 裝飾線
- underline 底線
- overline 頂線
- line-through 刪除線
- `text-transform:值` 英文大小寫轉換
- uppercase 全部大寫
- lowercase 全部小寫
- capitalize 字首大寫
- `line-height:值` 行高
- `text-indent:值` 首行縮排
- `word-spacing:值` 文字間距
- `letter-spacing:值` 字母間距
- `text-shadow:水平移動量 垂直移動量 模糊值 色彩`
可設定雙重陰影,兩者間用,符號隔開
- `box-shadow:水平移動量 垂直移動量 模糊程度 色彩`
可設定雙重陰影,與text-shadow相似
- `text-stroke:粗細 顏色` 文字外框線
- 粗細,thin、medium、thick
- 顏色
<p style="-webkit-text-stroke:thin black; color:white; font-size:100px;">NEW YORK</p>
- `text-align:值` 文字對齊方式
- center 置中
- left 靠左
- right 靠右
- `vertical-align:值` 文字垂直對齊方式
- top 對齊顯示區域上緣
- text-top 對其前標籤上緣
- bottom 對齊顯示區域下緣
- text-bottom 對其前標籤下緣
- middle 對其前標籤中緣
### CSS 清單項目
- `list-style-type:值` 項目清單符號
<ul>
<li style="list-style-type:disc;">disc 實心圓點</li>
<li style="list-style-type:circle;">circle 空心圓點</li>
<li style="list-style-type:square;">square 實心方塊</li>
<li style="list-style-type:decimal;">decimal 阿拉伯數字</li>
<li style="list-style-type:decimal-leading-zero;">decimal-leading-zero 阿拉伯數字(兩位)</li>
<li style="list-style-type:lower-roman;">lower-roman 小寫羅馬字母</li>
<li style="list-style-type:upper-roman;">upper-roman 大寫羅馬字母</li>
<li style="list-style-type:lower-alpha;">lower-alpha 小寫英文字母</li>
<li style="list-style-type:lower-greek;">lower-greek 小寫希臘字母</li>
<li style="list-style-type:cjk-ideographic;">cjk-ideographic 中文數字</li>
</ul>
- `list-style-image:url(路徑)` 項目清單圖片
- `list-style-position:值` 清單位置
- outside 靠外
- inside 靠內
### CSS 背景
- `background-color:顏色值` 設定背景顏色
<p style="background-color:lightblue">設定背景顏色</p>
- `background-image:url(圖片檔案路徑)` 設定背景圖片
- `background-repeat:屬性值` 背景圖片重複設定
- no-repeat 不重複顯示
- repeat-x X軸方向重複
- repeat-y X軸方向重複
- repeat X軸和Y軸方向重複
- space 重複且圖片完整與自動調節間距
- round 重複且圖片完整與自動調節間距(和space差不多)
- `background-position:X座標 Y座標` 設定背景圖片位置
- X座標
- left 靠左
- center 置中
- right 靠右
- Y座標`
- top 置頂
- center 置中
- bottom 置底
- `background-origin:原點位置` 設定原點位置
- padding-box 以內距的左上角為原點,預設值
- border-box 以框線的左上角為原點
- content+box 以內容的左上角為原點
- `background-clip:裁切位置` 設定背景裁切方式
- border-box 將框線以外的部分去除,預設值
- padding-box 將內距以外的部分去除
- content-box 將內容以外的部分去除
- `background-attachment:屬性值` 設定背景圖片捲動跟隨
- fixed 隨之跟隨
- scroll 停留原地
<h4 style="color:blue;">補充 - 浮動廣告</h4>
讓廣告可以跟著畫面移動,點擊即可進入連結
```htmlmixed=1
<div style="position:fixed; right:10px; top:10px;">
<a href="連結">
<img src="圖片/star.jpg" style="opacity:0.5;">
</a>
</div>
```
- `background-size:屬性值` 設定背景圖片大小
- 度量單位
- 百分比
- contain 符合區塊大小
- cover 覆蓋區塊大小
- auto
### CSS 版面定位
##### box model
![](https://i.imgur.com/ED5MMEU.png)
- margin 外距
- `margin-top:屬性值` 設定上方外距
- `margin-bottom:屬性值` 設定下方外距
- `margin-left:屬性值` 設定左方外距
- `margin-right:屬性值` 設定右方外距
- `margin:上 右 下 左` 設定全方向外距(簡便寫法)
- 度量單位
- 百分比
- auto
- onuline 外框線
下節有詳細介紹
- border 框線
下節有詳細介紹
- padding 內距
- `padding-top:屬性值` 設定上方內距
- `padding-bottom:屬性值` 設定下方內距
- `padding-left:屬性值` 設定左方內距
- `padding-right:屬性值` 設定右方內距
- `padding:上 右 下 左` 設定全方向內距(簡便寫法)
- content 內容
- `max-width:屬性值` 設定內容最大寬度
- `min-width:屬性值` 設定內容最小寬度
- `max-height:屬性值` 設定內容最大高度
- `min-height:屬性值` 設定內容最小高度
- `overflow:屬性值` 內容溢出處置
- visible 超出部分顯示
- hidden 超出部分隱藏
- auto 隨內容自動顯示卷軸
- scroll 有無溢出都會顯示卷軸
- `display:狀態值` 設定元素狀態
- none 隱藏元素
- block 區塊元素,會自動分行
- inline 行內元素,為預設值
- inline-block 行內元素與區塊元素隨文字段落顯示
- list-item 清單項目
- flex 浮動元素,之後章節獨立說明
- `visibility:屬性值` 設定元素可見/不可見
- visible 可見
- hidden 不可見
- `flaot:屬性值` 浮動元素
- none 不變
- left 置左
- right 置右
- `clear:屬性值` 去除浮動元素
- none 無動作
- left 去除左側
- right 去除右側
- both 去除兩側
- `position:屬性值` 設定元素位置
- static 預設值,不指定位置
- relative 相對定位,以該元素為基準點
- absolute 絕對定位,以父元素制定的位置為基準點
- fixed 固定定位,以瀏覽器左上角為基準點
- `box-sizing:屬性值` 設定Box尺寸
設定Box設定Box的尺寸,設定的尺寸就是看到的尺寸,省去調整內外距的麻煩
### CSS 框線設定
- `border-style:屬性值` 設定框線樣式
- none 預設值,不顯示框線
- solid 單線框線
- double 雙線框線
- dotted 點狀虛線
- dashed 線狀虛線
- groove 3D立體內凹框線
- ridge 3D立體外凸框線
- inset 內凹框線
- outset 外凸框線
- `border-top-style:屬性值` 也可針對單邊進行設定
- `border-width:屬性值` 設定框線寬度
- thin 細
- medium 中
- thick 粗
- 度量單位
- 百分比
- `border-top-width:屬性值` 也可針對單邊進行設定
- `border-color:顏色` 設定框線顏色
- `border-top-color:屬性值` 也可針對單邊進行設定
- `border-radius:圓角半徑` 設定圓角框線
- `border-top-left-radius:圓角半徑` 左上角
- `border-top-right-radius:圓角半徑` 右上角
- `border-bottom-left-radius:圓角半徑` 左下角
- `border-bottom-right-radius:圓角半徑` 右下角
- `border: 寬度 樣式 顏色` 框線簡便寫法
- `border: 寬度 樣式 顏色` 也可針對單邊進行設定
### CSS 外框線設定
- `outline-style:屬性值` 設定外框線樣式
- `outline-width:屬性值` 設定外框線寬度
- `outline-color:顏色` 設定外框線顏色
與border相同屬性值,參照"CSS 框線設定"
- `outline:樣式 寬度 顏色` 外框線簡便寫法
不可針對單邊進行設定
- `outline-offset:數字` 設定框線和外框線的間距
### CSS 表格框線
- `border-collapse:屬性值` 表格框線分離/不分離
- separate 分離
- collapse 重疊
- `border-spacing:屬性值` 表格框線距離
- 度量單位
- `table-layout:屬性值` 設定版面編排
- auto 預設值,隨著內容改變
- fixed 固定
- `empty-cells:屬性值` 設定空白儲存格顯示/影藏
- show 顯示
- hide 影藏
- `caption-side:屬性值` 表格標題位置
- top 表格上
- bottom 表格下
### CSS Flex
祕訣一: 要讓內元件有效果,要在外元件加上 `display:flex`
祕訣二: 每個 HTML 標籤,能同時擁有內元件跟外容器身份
Flex 主軸與交錯軸觀念([測試工具](https://codepen.io/peiqun/pen/WYzzYX))
- `flex-direction` : 決定軸線
- **row** : 水平
- row-reverse : 水平,但順序相反
- column : 垂直
- column-reverse : 垂直,但順序相反
- `justify-content` : 主軸對齊
- **flex-start** : 對齊靠左
- center : 對齊置中
- flex-end : 對齊置左
- space-between : 平均分散
- space-around
- space-evenly
- `flex-wrap` : 換行屬性
- nowrap
- wrap
- `align-item` : 交錯軸對齊(垂直置中)
- flex-start
- center
- flex-end
- stretch
- baseline
##### 參考
[體驗營第二週講義](https://hackmd.io/@YmcMgo-NSKOqgTGAjl_5tg/ry5tmBcoI/%2FBYKpMG2cQv2svK-wH20vCQ)
##### Flex 補充資源
* [圖解:CSS Flex 屬性一點也不難](https://wcc723.github.io/css/2017/07/21/css-flex/)
* [卡斯伯完整 Flex 影音教學(40分鐘)](https://www.youtube.com/watch?v=lmBM7_OTDBQ)
### CSS 變形效果
> 範例 : CSS15.htm
對照組
<img src="https://i.imgur.com/rlnPfUZ.jpg" style="width:100px; height:100px;">
- `transform:屬性值`
- `translate(x位移量,y位移量)` 移動
`translateX(x位移量)`
`translateY(y位移量)`
- x位移量(px) 水平位置
- y位移量(px) 垂直位置
[](https://i.imgur.com/rlnPfUZ.jpg)
<img src="https://i.imgur.com/rlnPfUZ.jpg" style="width:100px; height:100px; transform:translate(100px,10px);">
<p></p>
- `scale(x位移量,y位移量)` 縮放
`scaleX(x位移量)`
`scaleY(y位移量)`
<img src="https://i.imgur.com/rlnPfUZ.jpg" style="width:100px; height:100px; transform:scale(1.2,0.8);">
- `rotate(角度)` 旋轉
- 角度,以deg為單位
<img src="https://i.imgur.com/rlnPfUZ.jpg" style="width:100px; height:100px; transform:rotate(30deg);">
<p><br></p>
- `skew(x位移量,y位移量)` 傾斜
`skewX(x位移量)`
`skewY(y位移量)`
<img src="https://i.imgur.com/rlnPfUZ.jpg" style="width:100px; height:100px; transform:skewX(15deg);">
<p></p>
<img src="https://i.imgur.com/rlnPfUZ.jpg" style="width:100px; height:100px; transform:skewY(15deg);">
### CSS 2D轉場效果
> 範例 : CSS17.htm
- `transition-duration:秒數` 轉場時間
<head>
<meta charset="utf-8"/>
<title></title>
<style>
#arrow
{
width:100px;
height:100px;
transform:scale(1);
opacity:1;
transition:1.5s transform ease 1s;
}
#arrow:hover
{
transform:scale(1.5);
opacity:0.5;
}
#arrow02
{
width:100px;
height:100px;
transform:rotate(0deg);
transition:5s linear;
}
#arrow02:hover
{
transform:rotate(360deg);
}
#arrow03
{
width:100px;
height:100px;
transform:rotate(0deg);
transition:5s ease;
}
#arrow03:hover
{
transform:rotate(360deg);
}
#arrow04
{
width:100px;
height:100px;
transform:rotate(0deg);
transition:5s ease-in;
}
#arrow04:hover
{
transform:rotate(360deg);
}
#arrow05
{
width:100px;
height:100px;
transform:rotate(0deg);
transition:5s ease-out;
}
#arrow05:hover
{
transform:rotate(360deg);
}
#arrow06
{
width:100px;
height:100px;
transform:rotate(0deg);
transition:5s ease-in-out;
}
#arrow06:hover
{
transform:rotate(360deg);
}
#arrow07
{
width:100px;
height:100px;
transform:rotate(0deg);
transition:5s ease-in-out 1s;
}
#arrow07:hover
{
transform:rotate(360deg);
}
@keyframes arrow-animaion
{
from{transform:rotate(0deg);}
to{transform:rotate(360deg);}
}
#arrow08
{
width:100px;
height:100px;
animation: arrow-animaion 5s linear infinite normal;
}
#arrow09
{
width:100px;
height:100px;
animation: arrow-animaion 5s linear infinite reverse;
}
#arrow10
{
width:100px;
height:100px;
animation: arrow-animaion 5s linear infinite alternate;
}
#arrow11
{
width:100px;
height:100px;
animation: arrow-animaion 5s linear infinite alternate-reverse;
}
#arrow12
{
width:100px;
height:100px;
animation: arrow-animaion 5s linear infinite normal;
}
#arrow12:hover
{
animation-play-state:paused;
}
#arrow13
{
width:100px;
height:100px;
animation: arrow-animaion 5s linear infinite normal;
animation-play-state:paused;
}
#arrow13:hover
{
animation-play-state:running;
}
</style>
</head>
<img src="https://i.imgur.com/rlnPfUZ.jpg" id="arrow">
- `transition-property:css屬性` 指定轉場屬性
- `transition-timing-function:屬性值` 轉場模式
- linear 線性轉換,保持相同的速度轉場
- ease 先慢再快再慢,預設值
- ease-in 先慢再快
- ease-out 先快再慢
- ease-in-out 先慢再快再慢,速度變化較ease平均,相對平穩
<img src="https://i.imgur.com/rlnPfUZ.jpg" id="arrow02" title="linear">
<img src="https://i.imgur.com/rlnPfUZ.jpg" id="arrow03" title="ease">
<img src="https://i.imgur.com/rlnPfUZ.jpg" id="arrow04" title="ease-in">
<img src="https://i.imgur.com/rlnPfUZ.jpg" id="arrow05"
title="ease-out">
<img src="https://i.imgur.com/rlnPfUZ.jpg" id="arrow06"
title="ease-in-out">
<p><br/></p>
- `transition-delay:秒數` 轉場延遲
<img src="https://i.imgur.com/rlnPfUZ.jpg" id="arrow07">
<p><br/></p>
- `transition:轉場時間 轉場屬性 轉場模式 轉場延遲`
### CSS 動畫效果
- `@keyframes` 動畫關鍵影格
- from...to
```html=
@keyframes arrow-animaion01
{
from{transform:rotate(0deg);}
to{transform:rotate(360deg);}
}
```
- 百分比
```html=
@keyframes arrow-animaion02
{
0%{transform:rotate(0deg);}
50%{transform:rotate(360deg);}
100%{transform:rotate(0deg);}
}
```
- `animation-name:關鍵影格名稱` 動畫名稱設定
- `animation-duration:秒數` 動畫持續時間
- `animation-time-function:屬性值` 動畫轉換模式
- 和"轉場模式"一樣
- `animation-iteration-count:重複次數` 重複次數設定
- 數字,代表動畫重複的次數,如`animation-iteration-count:2`代表重複2次
- infinite,無限次數播放,永遠不會停
- `animation-direction:播放方向` 播放方向設定
- normal 代表從動畫開頭到結束,預設值
- reverse 代表從動畫結束倒帶回開頭,和normal相反效果
- alternate 從動畫開頭到結束,再從動畫結束倒帶回開頭。:warning:注意,開頭到結束算第1次播放,結束倒帶回開頭算第2次播放,所以設定播放次數必須大於1次,才能正常顯示效果
- alternate-reverse 動畫結束倒帶回開頭,再從動畫開頭到結束,與alternate相反效果
<img src="https://i.imgur.com/rlnPfUZ.jpg" id="arrow08" title="normal">
<img src="https://i.imgur.com/rlnPfUZ.jpg" id="arrow09" title="reverse">
<img src="https://i.imgur.com/rlnPfUZ.jpg" id="arrow10" title="alternate">
<img src="https://i.imgur.com/rlnPfUZ.jpg" id="arrow11" title="alternate-reverse">
<p></p>
- `animation-delay:秒數` 播放延遲設定
- `animation-play-state:播放狀態` 播放狀態設定
- paused 暫停播放
- running 開始播放
<img src="https://i.imgur.com/rlnPfUZ.jpg" id="arrow12" title="碰到不轉">
<img src="https://i.imgur.com/rlnPfUZ.jpg" id="arrow13" title="碰到才轉">
<p></p>
- `animation:影格名稱 動畫時間 轉換效果 重複次數 播放次數 延遲時間 播放狀態`
### :memo:RWD 響應式網站
#### 格式
@media 裝置 and (裝置屬性: 值)
例子:`@media screen and (min-width: 900px)`
---
- `@media 媒體` 不同裝置
- all 預設值,全部
- screen PC、手機瀏覽器都是
- print 印表機
- `min-width` 求最大寬度
`max-width` 求最小寬度
- `min-height` 求最大高度
`max-height` 求最小高度
- `min-device-width` 求最大螢幕寬度
`max-device-width` 求最小螢幕寬度
- `min-device-height` 求最大螢幕高度
`max-device-height` 求最小螢幕高度
- `<meta name="viewport" content="width=device-width, initial-scale=1.0">`
響應式網站常用,放在`<head>`中
### CSS 進階補充
- 文字填滿圖片
```htmlmixed=
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<style>
h1
{
width:100%;
text-align:center;
font-size:200px;
font-family:Arial Black;
background-image: url(圖片/NewYork.jpg);
background-position: center 20%;
-webkit-background-clip:text; /*圖片裁切:以文字為標準*/
-webkit-text-fill-color:transparent; /*文字顏色改為透明*/
}
</style>
</head>
<body>
<h1>NEW YORK</h1>
</body>
</html>
```
[](https://i.imgur.com/9w8O0O8.jpg)
<style>
#p01
{
width:100%;
text-align:center;
font-size:100px;
font-family:Arial Black;
background-image: url(https://i.imgur.com/9w8O0O8.jpg);
background-position: center 20%;
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}
#p02
{
width:100%;
text-align:center;
font-size:100px;
font-family:Arial Black;
background-image: url(https://i.imgur.com/9w8O0O8.jpg);
background-position: center 20%;
color:white;
}
</style>
<p id="p01">NEW YORK</p>
<p id="p02">NEW YORK</p>
- `font-variant:字體` 轉換特殊字體
- normal 預設值
- small-caps 以大寫小字顯示小寫
<p style="font-variant:small-caps;">Small Caps</p>
- `font-size-adjust:長寬比` 自動調整文字大小
- 百分比
- `text-emphasis:樣式 填滿 顏色` 強調標記
`text-emphasis-position:顯示位置` 強調標記的顯示位置
- 樣式,dot、circle、double-circle、triangle等等
- 填滿,filled、open
- 顏色
- 顯示位置,如over、under
<p><span style="-webkit-text-emphasis:circle filled red;">紐約</span>是美國第一大城</p>
<p><span style="-webkit-text-emphasis:circle filled red; -webkit-text-emphasis-position:under">紐約</span>是美國第一大城</p>
- `writing-mode:直書或橫書` 指定直書或橫書
- horizontal-tb 橫書,預設值
- vertical-rl 直書,欄從右到左排列
- vertical-lr 直書,欄從左到右排列
- `z-index:屬性值` 設定圖層順序
- auto 和上層元素相同,預設值
- 數字 數字大的會擋住數字小的元素,如1>(-1),1就會擋住(-1)
- [詳細](https://www.w3schools.com/cssref/pr_pos_z-index.asp)
- `cursor:游標形狀` 設定游標形狀
- <span style="cursor: auto;">auto 預設值</span>
- <span style="cursor: all-scroll;">all-scroll</span>
- <span style="cursor: cursor: -webkit-grab; cursor: grab;">grab</span>
- <span style="cursor: none;">none</span>
- <span style="cursor: not-allowed;">not-allowed</span>
- <span style="cursor: pointer;">pointer</span>
- <span style="cursor: progress;">progress</span>
- <span style="cursor: wait;">wait</span>
- [更多](https://www.w3schools.com/cssref/pr_class_cursor.asp)
- CSS 導航欄
垂直導航欄
> 範例 : CSSad01.htm
水平導航欄
> 範例 : CSSad02.htm
[詳細](https://www.w3schools.com/css/css_navbar.asp)
- CSS 下拉式功能表
文字
> 範例 : CSSad03.htm
>
按鈕
> 範例 : CSSad04.htm
>
圖片
> 範例 : CSSad05.htm
>
[詳細](https://www.w3schools.com/css/css_dropdowns.asp)
- CSS 導航欄+下拉式功能表
> 範例 : CSSad06.htm
>
- CSS 3D轉場效果
- `rotateX()` 以X軸為軸心做旋轉
- `rotateY()` 以Y軸為軸心做旋轉
- `rotateZ()` 以Z軸為軸心做旋轉
<style>
#arrow14
{
width:100px;
height:100px;
transform:rotateX(0deg);
transition:2s;
}
#arrow14:hover
{
transform:rotateX(360deg);
}
</style>
<img src="https://i.imgur.com/rlnPfUZ.jpg" id="arrow14">
---
#### CSS學完囉,接下來繼續學[HTML](/wHIiu44rSWKkAjss2PvleA)和[JavaScript](https://hackmd.io/@AndyChiang/JSnote)吧