CSS設定響應式(RWD)有幾種方法
最近看 SASS 有設定@media 方法
再仔細查了一下,還有別種寫法
有看到一些自己不會這樣寫的
特別筆記一下
一般常見寫法
一般常見這種寫法
@media screen and (min-width: 400px) and (max-width: 700px)
這種寫法順序會比較安全
|
|
特別寫法
在使用 sass mixin 來開發 responsive 網站 | Hello Santa web design,drupal and more裡面有看到這種寫法
|
|
沒想到 media 可以放在裡面
這樣寫也比較不會亂
簡單寫法(需要小心順序)
|
|
建議是只寫 max-width 的話由大像素寫到小像素,min-width 按小像素到大像素的順序,從上往下寫,不然會達不到控制的樣式目的。
這種寫法可能需要注意順序,可參考@media screen 的書寫順序 - WEB 前端娃——steiny - CSDN 博客
SASS 寫法
用 mixin 方法,但這邊使用上面簡單方法設定
|
|
深入了解
@media max-width 和 min-width 順序問題
深入了解@media screen 的書寫順序 - WEB 前端娃——steiny - CSDN 博客
@media (max-width: 959px) //裝置小於 959 會進來
@media (max-width: 759px) //裝置小於 759 會進來
@media (max-width: 480px) //裝置小於 480 會進來
但是寫反會遇到什麼事情
裝置 300 因為 CSS 順序關係,所以會吃到 959 的設定
@media (max-width: 480px) //裝置小於 480 會進來
@media (max-width: 759px) //裝置小於 759 會進來
@media (max-width: 959px) //裝置小於 959 會進來
@media screen 的書寫順序 - WEB 前端娃——steiny - CSDN 博客
簡單口決真的記得
建議是只寫 max-width 的話由大像素寫到小像素,min-width 按小像素到大像素的順序,從上往下寫,不然會達不到控制的樣式目的。
@media 的 screen 可以省略
為什麼我看有些 code 裡面的@media 可以省略?
翻了@media - CSS | MDN沒有寫
不過找到前端新手村 Media Query - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天
裡面有提
media type 是 all 時,可以省略。
不過我之前專案有用到@media print 功能
只要用 CSS 就能調整列印樣式
真的是很方便
Print —— 被埋没的 Media Type – 腾讯 CDC
有關於 compass
當出學 SASS 的時候,有看到 compass
但最近感覺很少人提到 compass
所以我有查了一下
原來 compass 已經很久沒更新了
Compass 有哪些好處呢?裡面[scss]Compass | hannahpun裡面 2 個我覺得不錯
- Sprite
- Helper 函數( image-width,image-height 太神!!!)
取代 compass 我查到用 gulp 或 webpack 做 sprite、CSS3 各瀏覽器的 CSS 可以通過 postcss 解決
- Compass 替代方案(1) - 更快速的 Sass | 卡斯伯 Blog - 前端,沒有極限
- Compass 替代方案(2) - 透過 PostCSS,停止加入不必要的 prefix | 卡斯伯 Blog - 前端,沒有極限
- Compass 替代方案(3) - 加入 SVG Sprites | 卡斯伯 Blog - 前端,沒有極限
上面有機會用的話,再來詳細筆記
PS: 當然 image-width,image-height 目前沒有解決方案
參考來源:
- Mobile Web 前端技術筆記(二): Media Queries 與 CSS – 烏托比亞
- @media screen 的书写顺序 - WEB 前端娃——steiny - CSDN 博客
- 使用 sass mixin 來開發 responsive 網站 | Hello Santa web design,drupal and more
- CSS Media Queries 詳細介紹 - OXXO.STUDIO
- [scss]Compass | hannahpun
- Compass 替代方案(1) - 更快速的 Sass | 卡斯伯 Blog - 前端,沒有極限
- Sass 的@import @mixin @content @extend 與@function « StevenTTuD’s notes
- Sass 教學 (11) - @content - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天