1. 程式人生 > >Sass學習之路(1)——Sass簡介

Sass學習之路(1)——Sass簡介

Sass是CSS的一種前處理器語言,類似的語言還有Less,Stylus等。

那麼什麼是CSS前處理器?

CSS 前處理器定義了一種新的語言,其基本思想是,用一種專門的程式語言,為 CSS 增加了一些程式設計的特性,將 CSS 作為目標生成檔案,然後開發者就只要使用這種語言進行編碼工作。

換言之就是說,CSS前處理器是一種專門的變成語言,在通過這種語言編寫之後,再將其編譯成正常的CSS檔案。

CSS前處理器給CSS增加了程式設計的特性,例如可以使用變數、函式、以及邏輯。

CSS前處理器的優勢:

可以讓你的CSS變得更加簡潔,適應性,可讀性都變得更好,同時代碼的維護也變得更方便。

關於Sass:

引用一段Sass官網上的描述:

Sass是一門高於CSS的元語言,它能用來清晰地、結構化地描述檔案樣式,有著比普通CSS更加強大的功能。
Sass能夠提供更簡潔更優雅的語法,同時提供多種功能來建立可維護和管理的樣式表。

Sass是最早的CSS預處理語言,誕生於2007年,採用Ruby語言編寫。比LESS的功能更加強大,不過早期的縮排式語法(Sass的老版本語法,拋棄CSS的封號,大括號等符號)無法被大眾接受(無法想象沒有大括號的CSS的世界)。

雖然像html一樣的縮排式風格可以縮減程式碼量,強制規範的變成風格,但是大部分的前端工程師都難以接受沒有花括號的世界,倒是Sass早起沒有LESS普及。

Sass和SCSS:

其實Sass和SCSS是同一種東西,平時都被我們稱之為SCSS,不過還是一些區別:

1.檔案拓展名不同,拓展名分別是".sass"和".scss"。

2.語法書寫方式不同:Sass使用嚴格的縮排式語法書寫,不使用大括號和封號(換行解決一切問題)。而SCSS更接近我們平時書寫CSS的方式。

下邊是兩種語法的示例:

Sass 語法

$font-stack: Helvetica, sans-serif  //定義變數
$primary-color: #333 //定義變數

body
  font: 100% $font-stack
  color: $primary-color

SCSS 語法

$font-stack: Helvetica, sans-serif;
$primary-color: #333;

body {
  font: 100% $font-stack;
  color: $primary-color;
}

編譯出來的 CSS

body {
  font: 100% Helvetica, sans-serif;
  color: #333;
}


其實SCSS語法便是Sass後續推出的新版本語法,可以理解成一種語法糖,不再沿用ruby的語法習慣。(熟悉的大括號和封號又迴歸了)。


相關推薦

Sass學習(1)——Sass簡介

Sass是CSS的一種前處理器語言,類似的語言還有Less,Stylus等。 那麼什麼是CSS前處理器? CSS 前處理器定義了一種新的語言,其基本思想是,用一種專門的程式語言,為 CSS 增加了

Sass學習(11)——Sass運算

程式中的運算是非常唱見的一件事情,而運算也是Sass中的一項基本屬性,在Sass中可以進行各種數學計算。 1.加法 在變數和屬性中,都可以做加法運算。看一個例子: .box { width: 2

python學習1

對象 是否 font 得到 spa 一個 部分 ont style 一、python 符號運算 + 加 - 兩個對象相加 - 減 - 得到負數或是一個數減去另一個數 * 乘 兩個數相乘或是返回一個被重復若幹次的字符串 / 除 - x除以y % 取模

Python 學習1 了解Python的編譯原理,運行速度

可能 程序集 nbsp 錯誤 解釋 .exe 完成 字節 方便 為什麽學習Python呢? 目前有許多的開發語言,其中運行速度最快的無疑是C語言了,因為C是最接近機器的語言,但是為什麽還有其他的各種語言呢,因為完成C語言的功能可能需要更多的代碼,而其他的語言可能需要

PHP-學習1

則表達式 字符串 開發流程 模式 配置 這一 目前 這就是 項目結構   相信入職快有5個月了,目前項目做過HIS,zySystem,ComStoreSystem當然今天不是來介紹的,後期直到第四個月後APP護身寶經理拍板今後也就是明年正式交於我們團隊接手與擴展,運維。雖然

scrapy的學習1(簡單的例子)

strong os.path pro tle text arch try mobile pip scrapy的安裝 環境:python3.6 1 pip install -i https://pypi.douban.com/simple/ scrapy 2

kubernets學習(1)--概念總結

lock Dokcer 多余 div 結合 擁有 中一 同時 Kubernete 一、寫在最前 在16年開始聽說的k8s,那時候dokcer非常的火,當時也研究了一部分,也算了解docker,後續沒有使用場景,於是就沒有繼續深入的學習。隨著微服務的架構越來越流程

vue學習 - 1.初步感知

mar 進行 配置 單元素 ie8 getter 控件 world 特性 一、安裝   這裏使用node的npm包管理工具進行操作。操作前請先下載node。   在工程文件夾中使用以下命令安裝vue: npm install vue   如下圖所示:我在 he

Git學習(01-Git簡介與配置)

一次 成了 好處 com 每次 客戶 寫上 時間 全局 前沿 作為程序員,Git的學習是必不可少的,不管項目代碼的開源還是跟蹤管理都離不開它。本人學習Git的過程中,特以在此整理筆記,方便以後查看筆記和解決問題。本人學習的是網上受歡迎的廖雪峰老師的Git教程,的確是簡單易懂

大資料學習93-kafka簡介

kafka是實時計算中用來做資料收集的,它是一個訊息佇列。它使用scala開發的。 那麼我們就會想我們這裡能不能用hdfs做資料儲存呢?它是分散式的,高可用的。 但是它還缺少一些重要的功能:比如說我們往hdfs中寫資料,之後我們需要實時的讀取。當我們讀到某一行的時候斷掉了,假如說這個讀取

TensorFlow學習1-TensorFlow介紹

TensorFlow是一個採用資料流圖(data flow graphs),用於資料計算的開源軟體庫。 什麼是資料流圖? TensorFlow的資料流圖是由“節點”(nodes)和“線”(edges)組成的有向無環圖來描述數學計算。“節點”一般用來表示施加的數學操作,但也可以表示資料輸入(feed in)

Python學習(1)

Python學習之路(1) 1. Python語言概述   Python是一種計算機程式設計語言。是一種動態的、面向物件的指令碼語言,語言預設字尾為.py。經過多年發展,已經在系統程式設計、網路爬蟲、人工智慧、科學計算、系統運維、WEB開發等多個領域廣泛應用。在網路爬蟲方面,Python的常用框

轉載:什麼是 .bashrc,為什麼要編輯 .bashrc? linux學習 1

如果你執行一個基於 Unix 或者類 Unix 的作業系統,bash 很有可能是作為預設終端被安裝的。雖然存在很多不同的 shell,bash 卻是最常見或許也是最主流的。如果你不明白那意味著什麼,bash 是一個能解釋你輸入進終端程式的東西,並且基於你的輸入來執行命令。它在一定程度上支援使用指令碼

Redis學習(1)----初識Redis

一、什麼是Redis Redis官網上的介紹是這樣的: Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message

【Java學習---1】List的ArrayList和LinkedList的KTV點歌系統修改

本程式碼是參考書籍敲出 ,加入了部分自己的東西讓程式完善一些,謝謝!!! KTVArrayList程式碼: 1 import java.util.Scanner; 2 import java.util.ArrayList; 3 4 public class KTVByArrayList {

我的微控制器學習1

為了更好地學習微控制器,同時與大家一起進步,我將以一個飛控程式的main函式開始讀,記錄每一個不懂的語句,並寫下心路歷程。 我從圖書館借了一本C primer plus,本打算了解每個不懂得語句得整個體系,即如上得define,不止一種用法,我這裡不懂這個

MVC——WebApi(學習1

一、MVC和WebApi路由機制比較 1、MVC裡面的路由 在MVC裡面,預設路由機制是通過url路徑去匹配對應的action方法,比如/Home/GetUser這個url,就表示匹配Home這個Controller下面的GetUser方法,這個很好理解,因為在MVC

Java學習(1)

2018年11月02日 14:09:32 簡學 閱讀數:3 標籤: Java

ZYNQ學習1. Linux最小系統構建

開發環境:window10, vivado 2017.1, ubuntu 16.04, Eclipse+cdt硬體環境:米爾科技zturn board,zynq7z010  本筆記詳細介紹了開發ZYNQ

後端基礎Python學習1

    總體來說我還是比較欣賞Python的,大體來說感覺Python和node有點相似,大神不要噴我、我說的相似不是語法,而是輸入python就可以在終端進行除錯,和node一模一樣,當然這是在我初學者角度去分析的。     哇塞,python也是弱型別語言,感覺找到組織