webstorm下的sass自動編譯和移動端自適應實踐
http://www.fawwheel.com/shahramLu/p/6477731.html
webstorm下的sass自動編譯和移動端自適應實踐
1、安裝Ruby
2、安裝sass
3、webstorm配置file watcher
4、移動端自適應
1、安裝Ruby
安裝Ruby,有多種方式,打開官網下載
因為,使用的是window選擇RubyInstall,下載地址
RubyInstall下載地址
選擇對應系統的版本,下載完成,安裝
添加到path,建議勾上,安裝完成後,打開開始面板,會有一個Start Command Prompt with Ruby,命令行工具。
2、安裝sass
個人偏好sass,也可以選擇less或stylus,打開上一步安裝的Ruby命令行
輸入gem list 看一下安裝了那些包,接著gem install sass
3、webstorm配置file watcher
打開webstorm,File -> settings -> Tools -> File Watchers
選擇+號,新建scss
在輸出參數位置,一般會加上--style *;展開格式nested
,expanded
,compact
,compressed,最傳統的選擇--style expanded,括號上下換行
工作文件夾和輸出位置,可以根據項目來選擇,放在同級目錄,或者父級,點擊insert macros
常見的有文件路徑,父文件路徑等等,可以自己嘗試下,加深理解
4、移動端自適應
最後,來個實戰,基於單頁面,做到了大多數手機屏幕很好的適應,包括DPI為2 和 DPI為3的都可以適應
選擇淘寶的開源庫lib-flexible,參考airen大神寫的文章
因為內容較少,只是宣傳頁面,所以沒有選擇vue這類框架
直接HTML走起,因為使用了淘寶開源庫,就不需要常用的
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
直接在head下引入阿裏雲的cdn
<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js"></script>
搭配sass的mixin效果很棒
1 @mixin font-dpr($font-size) { 2 font-size: $font-size; 3 4 [data-dpr="2"] & { 5 font-size: $font-size * 2; 6 } 7 8 [data-dpr="3"] & { 9 font-size: $font-size * 3; 10 } 11 } 12 13 $baseFontSize: 75; 14 $FontSize: 16; 15 @mixin px2rem($name, $px1){ 16 #{$name}: ($px1 / $baseFontSize) * 1rem; 17 } 18 19 @mixin bg-image($url) { 20 background-image: url($url + "@2x.png"); 21 @media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) { 22 background-image: url($url + "@3x.png"); 23 } 24 }
對於font-size,需要使用px, 因為rem會導致,出現15.55px奇葩尺寸,中文點陣一般常用是12、14、16px
[email protected]@3x後綴
@include px2rem(padding, 25); // 生成 padding: 0.33333rem; @include bg-image(‘bubble‘); // 生成 .wrapper .bubble { background-image: url("[email protected]"); } @media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) { .wrapper .bubble { background-image: url("[email protected]"); } } @include font-dpr(18px); // 生成 .content { font-size: 18px; } [data-dpr="2"] .content { font-size: 36px; } [data-dpr="3"] .content { font-size: 54px; }
其中data-dpr是屏幕的DPI,詳細代碼查看GitHub
posted @ 2017-02-28 10:35 風風coding 閱讀(...) 評論(...) 編輯 收藏
webstorm下的sass自動編譯和移動端自適應實踐