对比less聊scss(1):scss特性
1、相同
less和sass在很多思想上是相同的,也都是通過轉化css的方式通過瀏覽器來運行。
?
2、less缺點 = sass優點
通過對寫less系列文章后的個人感受來講,less的確也稱不上是一種變成語言,雖然相比css要進步不少,多了變量、函數,包括判斷、運算等處理邏輯,但這些仍然是在利用css的一些特性使其不能夠完整的展現,比方說變量能進行簡單的運算但無法做到字符串和屬性的連接,循環也是通過函數的遞歸才能勉強完成,甚至這里的函數也只是選擇器的一種表現形式,無法設置或獲取返回值。
?
而sass相比less就樂觀多了,它增加了很多的關鍵字,而通過這些關鍵字來區分聲明函數、調用函數、判斷、循環等等,這樣就會避免和選擇器的沖突而使語法更自由、更靈活。
?
3、簡化操作
當然less也有其優點,sass也有其缺點:
less的優點在于調試方便,less官方提供了一套js驅動,網站只需要引入less.js,之后像引入css一樣簡單的引入less文件了,而瀏覽器的控制臺也會展現出less轉css后的樣式代碼,非常利于開發調試。并且less也可以批量轉換css文件。
而在這一點sass就麻煩的多,只能通過編譯的方式轉換css,細想一下,如果你在修改一個box的top位置,每改一個值你都會刷新瀏覽器看看顯示的位置對不對,如果是less或css只需要刷新頁面就行了,而sass則需要先編譯、甚至要選擇覆蓋原來的文件,然后再刷新頁面,很麻煩。
?
雖然麻煩,但這也阻止不了我們學習sass的熱情,既然像我這樣的小人物都能看的見的問題,各方的大拿們定會推出相應的策略。
這就LibSass,首先LibSass并不是一個語言,也不是什么工具或者開發包之類的,而是在各種不同的開發語言中集成其中的sass環境。
而我們只需要了解Sass的語法,而LibSass我們需要哪個就用哪個,畢竟Sass語法是共通的。
這個網站就是介紹LibSass的:http://sass-lang.com/libsass
C:SassC
Go:gosass,?go-sass?and?go_sass
Java:?LibSass Maven plugin
JavaScript:sass.js
Lua:?lua-sass
.NET:libsass-net
Node:?node-sass
Perl:?CSS::Sass?and??Text-Sass-XS
PHP:?older PHP version
Python:?libsass-python? 、?python-scss?、?pylibsass? 、?SassPython
Ruby:?sassc-ruby
Scala:?Sass-Scala??
?
4、SCSS
說了那么多sass,標題上的為什么是scss?
scss是sass一個升級標準,它規范了sass很多看似不合理的結構,比如sass的選擇器沒有大括號,結尾沒有分號,這看上去很亂,不是嗎?不過scss解決這它,讓它代碼看上去更像css。并且scss并沒有改變sass的核心用法。
?
所以,下面的幾個文章我會以scss來講解。
?
to be continue ...
轉載于:https://www.cnblogs.com/wujianbufengsao/articles/6836015.html
總結
以上是生活随笔為你收集整理的对比less聊scss(1):scss特性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android重写FragmentTab
- 下一篇: (转)rlwrap真是一个好东西