摘要:作為一門標記語言,更重要的作用是作為信息的呈現載體,注重信息的呈現形式。而中出現了很多的新特性,但總體還是更偏重于信息的呈現方式,而不是對信息本身的處理。暫完如有不足和不對的地方,希望各位看客大牛指點迷津,感謝。
關于Sass和Less牽扯的問題 關于Sass和Less
Sass和Less都算是一種編程語言(后面會詳談此處牽扯出來的編程語言),都是CSS預處理器,都具有相同的功能,可以幫助我們快速編譯CSS代碼,
細一點來說:Sass是一種動態樣式語言,Sass語法的縮排語法,比CSS比多出很多功能,如變量,嵌套,運算,繼承,顏色處理,函數等,易于閱讀。
Sass是基于ruby運行的(就好比HTML文件是基于瀏覽器運行的),Sass是在服務器端處理的,而Less是基于JavaScript,所以,Less是在客戶端處理的。這就是Sass和Less的實現區別。
所以很多開發者不選擇Less,可能就是因為JavaScript引擎需要額外的時間來處理代碼。(我亂猜的)
但Less和Sass在語法上有些共性,比如下面這些:
● 混入(Mixins)——class中的class;關于HTML和CSS● 參數混入——可以傳遞參數的class,就像函數一樣;
● 嵌套規則——Class中嵌套class,從而減少重復的代碼;
● 運算——CSS中加入數學運算;
● 顏色功能——可以編輯顏色;
● 名字空間(namespace)——分組樣式,從而可以被調用;
● 作用域——局部修改樣式;
● JavaScript 賦值——在CSS中使用JavaScript表達式賦值
我們所說的CSS和HTML算不算編程語言呢?答案是No,即HTML和CSS都不是一種編程語言(HTML我在講Markdown的那篇文章里也提到過),HTML(超文本標記語言)是結構化文檔,就算是數據結構的一種(變體)吧,CSS(層疊樣式表)就是渲染引擎的怎么運作的配置文件,只能算是一種數據。
其實判定它們是不是編程語言的界限,是看它們具備不具備圖靈完備(下面會細說圖靈完備)。解釋圖靈完備之前,我們再來解釋一個小問題:我們經常提到的HTML5(H5)又是什么呢?
1.簡單的說:HTML5是html+CSS3+js api的一種規范
2.詳細的說:在狹義上HTML5也是不具備圖靈完備,所以不算編程語言,它包含的是HTML等基礎標記。
而在廣義上,HTML5感覺更像一個平臺,而不是一種語言。有人也把 CSS3 劃歸到HTML5里面,更具劃時代意義的是HTML5 提供了很多 js 的api,通過 js 調用這些api可以做到很多完備編程語言的事情。
那我們把HTML5怎么稱呼合適呢?其實HTML5叫做一種代碼規范標準更合適。HTML作為一門標記語言,更重要的作用是作為信息的呈現載體,注重信息的呈現形式。而HTML5中出現了很多的新特性,但總體還是更偏重于信息的呈現方式,而不是對信息本身的處理。
圖靈完備好了,我們現在回過來說圖靈完備(Turing completeness),
圖靈完備性是針對一套數據操作規則而言的概念。數據操作規則可以是一門編程語言,也可以是計算機里具體實現了的指令集。當這套操作規則可以實現圖靈機模型里的全部功能時,就稱它具有圖靈完備性。
所以計算機編程語言都是圖靈完備的。說的再直白一點,就是一門編程語言里是有邏輯判斷(例如if,elseif判斷),循環(例如for循環)和函數,要有代碼的復用性。 CSS和HTML都不具備這些吧,
這就是為什么HTML和CSS不是編程語言,而Sass和Less算一門編程語言。當然,對于部分開發人員來說,究竟誰是不是編程語言可能無關緊要,只要會運用它們就行,嘿嘿~。(暫完)
如有不足和不對的地方,希望各位看客大牛指點迷津,感謝。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/92562.html
摘要:作為一門標記語言,更重要的作用是作為信息的呈現載體,注重信息的呈現形式。而中出現了很多的新特性,但總體還是更偏重于信息的呈現方式,而不是對信息本身的處理。暫完如有不足和不對的地方,希望各位看客大牛指點迷津,感謝。 關于Sass和Less牽扯的問題 關于Sass和Less Sass和Less都算是一種編程語言(后面會詳談此處牽扯出來的編程語言),都是CSS預處理器,都具有相同的功能,可...
摘要:作為一門標記語言,更重要的作用是作為信息的呈現載體,注重信息的呈現形式。而中出現了很多的新特性,但總體還是更偏重于信息的呈現方式,而不是對信息本身的處理。暫完如有不足和不對的地方,希望各位看客大牛指點迷津,感謝。 關于Sass和Less牽扯的問題 關于Sass和Less Sass和Less都算是一種編程語言(后面會詳談此處牽扯出來的編程語言),都是CSS預處理器,都具有相同的功能,可...
摘要:而使用預處理器,提供缺失的樣式層復用機制減少冗余代碼,提高樣式代碼的可維護性。所以我們在實際項目中衡量預編譯方案時,還是得想想,比起帶來的額外維護開銷,預處理器有沒有解決更大的麻煩。也是成熟的預處理器之一,而且有一個穩定,強大的團隊在維護。 這篇文章主要解答以下幾個問題,供前端開發者的新手參考。 1、什么是Sass和Less? 2、為什么要使用CSS預處理器? 3、Sass和Less的...
摘要:而使用預處理器,提供缺失的樣式層復用機制減少冗余代碼,提高樣式代碼的可維護性。所以我們在實際項目中衡量預編譯方案時,還是得想想,比起帶來的額外維護開銷,預處理器有沒有解決更大的麻煩。也是成熟的預處理器之一,而且有一個穩定,強大的團隊在維護。 這篇文章主要解答以下幾個問題,供前端開發者的新手參考。 1、什么是Sass和Less? 2、為什么要使用CSS預處理器? 3、Sass和Less的...
閱讀 3537·2021-09-10 10:51
閱讀 2507·2021-09-07 10:26
閱讀 2482·2021-09-03 10:41
閱讀 810·2019-08-30 15:56
閱讀 2896·2019-08-30 14:16
閱讀 3488·2019-08-30 13:53
閱讀 2103·2019-08-26 13:48
閱讀 1913·2019-08-26 13:37