---
# System prepended metadata

title: RWD 技巧
tags: [RWD]

---

# RWD 技巧
###### tags: `RWD`

## 1. meta 語法

```=HTML
<meta name="viewport" content="width=device-width, initial-scale=1.0">
```
**viewport 讓瀏覽器清楚知道，「寬度尺寸變化」與「網頁的內容縮放」兩者的比例。所以一定要加入這一行才能寫響應式**

## 2. media query

## 使用 @media query 為不同的寬度給予不同的樣式
@media 的語法，是一種簡易的條件篩選功能，可以套用在 CSS 樣式中，當螢幕寬度符合條件，就會查詢到相對應的 CSS 樣式。
```=CSS
@media(max-width: 600px){
    // 在螢幕寬度<=600px時，所套用的css樣式
}
@media(min-width: 300px){
    // 在螢幕寬度 >= 300px時，所套用的css樣式
}
```
### 注意 CSS 權重，先看權重再看先後
在撰寫 CSS 時，同樣的標籤且相同的方式撰寫(都用 class 選擇器)如果寫了兩個不同屬性，下面會覆蓋上面的
比如:
```=css
.title{
    color:white;
}
.title{
    color:red;
}
```
這時 .title 標籤的顏色會是紅色會覆蓋掉白色這個屬性

**同樣道理，在撰寫 media query 的時候，有可能寬度會重複進而下面的屬性覆蓋上面的屬性**
**所以撰寫的時候要注意順序，使用<font color='blue'> max-width </font>時記得<font color='red'>由大到小的尺寸</font>撰寫，使用<font color='blue'> min-width </font>時記得<font color='red'>由小到大的尺寸</font>撰寫**

## 3. 斷點

選擇尺寸作為 RWD 改變樣式，通常都是選擇2~3個斷點使用

### 常用斷點

* 1280
* 992
* 768
* 576
* 414
* 375

## 4. container 與內容器

* container 可以先做設定
container 就是包覆其他區塊的最大區塊
```=css
.container{
    max-width: OOpx;  // 依據設計稿寬度給予最大寬度
    margin:0 auto; // 置中
    padding-left:16px;
    padding-right:16px;
}

```
* 內容器設定
內容器就是包在 container 裡面的東西
1. 寬度單位使用 %
2. 斷點搭配寬度設定

```=css
.item{
    width:50%:
}
@media(max-width:768px){
    .item{
        width:100%;
    }
}

```

* img 響應式設定
```=css
    max-width:100%:
    height:auto;
```

## 提醒 

1. 內容物不要寫死寬度 (px)
2. 不能出現 x 軸