---
# System prepended metadata

title: 第 9 節： Other Assorted Useful CSS Properties
tags: [The Web Developer Bootcamp 2021, CSS, Udemy]

---

Udemy課程：[The Web Developer Bootcamp 2021（Colt Steele）](https://www.udemy.com/course/the-web-developer-bootcamp/)
# 第 9 節： Other Assorted Useful CSS Properties
###### tags: `CSS` `Udemy` `The Web Developer Bootcamp 2021`
2021.05.04（Tue.）
## ● 上課筆記
### （1）**opacity & the alpha channel：**
一般來說我們用顏色就是用rgb，然後給一組三個數字。但也有一個顏色用法叫做rgba，此組給四個數字，r是紅、g是綠、b是藍、a是alpha，算是透明度。

可以在hex color的6碼後加上兩個英數字調整透明度，也可以直接在css中新增一個「opacity: 數字;」。

常用三種方法：
**1. rgba**
```css=
#rgba{
    background-color: rgba(255,255,255,0.7)
}
```

**2. hex color**
```css=
#hex-color{
    background-color: #00cca0b9
}
```

**3. opacity**
```css=
    background-color: yellow;
    opacity: 0,7;
```
****
### （2）**position property：**
**1. static**
沒有設置任何參數時，position就會等於static（預設是static）。這個時候`top`、`right`、`bottom`、`left`還有`z-index`屬性皆無效。 
**2. relative**
除非我們加上一些屬性（像是`top`、`right`、`bottom`、`left`），不然他的表現跟static是一樣的。而加上一些屬性後，元素會相對地調整原本該出現的所在位置。
**3. absolute**
元素會被移出正常文件流，所以不會給元素預留空間，也可以說被設定absolute後，該元素在頁面上是不占任何空間的。
另外，他會通過指定元素相對於最近的非 static定位父元素的偏移，來確定元素位置。絕對定位的元素可以設置外邊距（margins），且不會與其他邊距合併。
**4. fixed**
跟absolute一樣元素會被移出正常文件流，不同的是元素的位置在屏幕滾動時不會改變。（可以用在導覽列上）
**5. sticky**
元素會根據正常文件流進行定位，但他跟fixed有點像，一般來說他看起來相當正常，但當屏幕滾動時，被設置為sticky的元素碰到頁面邊緣，並不會消失，而是像fixed一樣不會改變（差別只在fixed都卡在同個位置，但sticky唯有在即將出去頁面時才會卡在某個位置上）
****
### （3）**CSS transitions：**
* 他是用於轉場動畫的一個語法，先來看看語法：
```css=
transition: property name | duration | timing function | delay
```
* 再來針對他的屬性來做細說：
**1. property name**
例如說你要針對背景顏色去做變化，那property name就可以放上background-color（或者說border-radius、border、color等等都是property name）
**2. duration**
這個就是指說你要達成那個狀態需要多少的時間？通常都用秒當作單位。
**3. timing function**
可以說是那個動畫的速率變化，可以參考[這個網站](https://easings.net/)。
**4. delay**
這裡一樣是時間，但跟duration不一樣，他是設定說經過多少時間再做動畫。
****
### （4）**CSS transform：**
> 參考網址：[`<transform-function>`](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function)

transform可以讓你修改CSS可視化格式模型的空間維度。
例如：平移、旋轉、縮放和傾斜。
**1. rotate**
在二為平面中，以某個固定的點做旋轉：
```css=
rotate(angle)
```
若想更改固定的點的位置，則使用以下語法：（原先設在center）
下面範例表示將固定的點移至右上角。
```css=
rotate-origin: top right;
```
**2. scale**
在二維平面上放大or縮小物件：
下面範例表示把物件放大了兩倍。
```css=
scale(2)
```
**3. translate**
在二維平面上做平移。
```css=
translate(x,y)
```
**4. skew**
在二維平面上，使物件傾斜變形。
```css=
skew(x-angle,y-angle)
```
**** 