搜尋

Less 教學:安裝、開始使用

Less 是 CSS 的一種預處理器,不僅撰寫方式類似 CSS,更可以搭配對應的 JavaScript 使其運行在瀏覽器端,這篇教學會介紹如何安裝 Less 以及開始使用 Less。

快速導覽:

CSS 教學 - Less 教學:安裝、開始使用

認識 Less

Less 是 CSS 的一種預處理器,Less 除了可以在後端運行,也可以搭配對應的 JavaScript 在網頁執行,使得開發 CSS 更為便捷。Less 由 Alexis Sellier ( @cloudhead ) 於 2009 年創建,最初用 Ruby 語言撰寫寫,後來移植改用 JavaScript 撰寫。Less 最初受到另外一套 CSS 預處理器 Sass 的啟發,由於 Sass 當時和 CSS 原生語法差異較大,因此 Less 改良成為更符合 CSS 且更精簡的語法,爾後 Sass 又受到 Less 的啟發而創建類似 CSS 語法的 SCSS。

本機環境開發 Less 需要使用編輯程式碼的工具,例如 VSCode、 Sublime Text 或筆記本等,存檔時將副檔名存為「.less」就會變成 Less 的檔案

前往 Less 官網:https://lesscss.org/

CSS 教學 - Less 教學:安裝、開始使用 - 認識 Less

後端安裝 Less

通常開發者會在 Node.js 後端環境使用 Less,下方是 Less 官網所提供的安裝方式 ( 參考 Less Installing )。

// 全域安裝 ( 在全系統範圍內安裝 )
npm install less -g

// 專案安裝 ( 安裝到專案中並添加到 devDependencies )
npm i less --save-dev

// 專案安裝 ( 安裝 beta 版本,可以指定版本號 )
npm install [email protected] -g

如果使用 gulp 開發,可先透過 npm 指令安裝對應模組 ( gulp 和 gulp-less ),接著就能在 gulp 環境下使用 Less ( 參考 gulp-less )

npm install gulp gulp-less 

前端執行 Less ( 瀏覽器執行 Less )

除了在後端環境執行 Less,也可以搭配 Less.js 直接在瀏覽器端將 Less 轉換為 CSS,使用方式只需要在網頁 <head> 區域放入下列兩個檔案,開啟網頁後就會將 styles.less 的內容轉換成 CSS ( 參考 Less Browser Usage )。

除了測試之外,這種方式因為會產生額外的載入資源與轉換時間,多少會影響到網頁的 SEO,建議使用後端轉換成 CSS 或撰寫純 CSS 執行效率較好。

<link rel="stylesheet/less" type="text/css" href="styles.less" />
<script src="less.js" type="text/javascript"></script>

測試 Less 的線上工具

許多主流的線上網頁測試工具都支援 Less,下方會列出幾套支援 Less 的線上工具:

小結

這篇教學介紹了 CSS 預處理器的基本概念及其優缺點,希望能讓大家對這些 CSS 預處理器的功能和優勢有了更深入的了解。

意見回饋

如果有任何建議或問題,可傳送「意見表單」給我,謝謝~

CSS 教學

基本介紹

認識 CSS 開始使用 CSS CSS 語法規則 CSS 命名原則 CSS 常用樣式屬性

CSS 選擇器

認識 CSS 選擇器 優先順序 ( 權重 ) 樣式繼承與聯集 使用巢狀結構語法 元素選擇器 ID 和 Class 選擇器 屬性選擇器 文件結構選擇器 虛擬類別選擇器 ( 結構 ) 虛擬類別選擇器 ( 類型 ) 虛擬類別選擇器 ( 輸入 ) 虛擬類別選擇器 ( 行為 ) 虛擬類別選擇器 ( 超連結 ) 虛擬類別選擇器 ( 邏輯 ) 虛擬類別選擇器 ( 其他 ) 虛擬元素選擇器 群組與組合選擇器

數值與單位

全域關鍵字與文字數值 長度與角度單位 位置名稱與時間單位 特殊樣式屬性 ( all、appearance)

規則與定義

變數 ( Variables ) 媒體查詢 ( @media ) 容器查詢 ( @container ) 自訂屬性值 ( @property ) 匯入樣式 ( @import ) 分層優先順序 ( @layer ) 定義字型 ( @font-face ) 計數規則 ( @counter-style ) 列印網頁 ( @page )

函式類型

數學計算 文字與清單計數 形狀與線段 路徑 ( path ) 生成內容與引號

顏色與濾鏡

顏色單位 色彩模型 漸層色 影像濾鏡 ( filter ) 背景濾鏡 ( backdrop-filter ) 混合模式 ( mix-blend-mode )

文字與段落

設定字型 ( font-family ) 使用外部字型 文字尺寸 文字樣式 ( 常用 ) 文字樣式 ( 其他實用 ) 文字樣式 ( 特殊用途 ) 文字換行 文字空白與 Tab 大小 文字行高與縮排 文字水平與垂直對齊 文字書寫方向 文字自動分欄 使用 Icon Font ( 圖示文字 ) 製作自己的 Icon Font

元素容器

容器顯示類型 ( display ) 元素 display 對照表 盒子模型 ( Box Model ) 寬度與高度 內邊距 ( padding ) 外邊界 ( margin ) 邊框 ( border ) 邊框圓角 ( border-radius ) 影像邊框 ( border-image ) 輪廓 ( outline ) 內容溢出與裁切 ( overflow ) 內容範圍 ( contain ) 可見性與透明度

背景與陰影

背景顏色 背景圖 ( 定位、尺寸 ) 背景圖 ( 固定、重複 ) 背景圖 ( 多重背景、混合 ) 背景縮寫 ( background ) 容器陰影 ( box-shadow )

清單與表格

清單樣式 清單計數器 表格基本樣式 表格邊框樣式 表格內容寬度與對齊

基本排版與定位

元素排版方式 浮動 ( float ) 浮動形狀 ( shape-* ) 定位 ( position ) 邏輯屬性 ( logical properties ) 水平置中技巧 垂直置中技巧

Flex 彈性排版

Flexbox 彈性盒子 Flex 對齊方式 Flex 彈性伸縮

Grid 網格排版

Grid 網格容器與格線 Grid 網格空間與命名 Grid 網格流向與間距 Grid 排列網格項目 Grid 項目對齊與順序

轉場與動畫

轉場 ( transition ) 轉場觸發事件 動畫 ( animation ) 自訂動畫路徑 ( offset ) 動畫觸發事件 多重動畫的權重與順序 動畫進度控制 ( timeline )

變形、裁切與遮罩

裁切路徑 ( clip-path ) 影像遮罩 ( mask ) 物件填滿方式與定位 轉換函式 ( transform ) 平移、旋轉與縮放 3D 轉換與透視

視窗與使用者行為

捲軸樣式 ( scrollbar ) 拉霸、滑桿樣式 ( slider ) 滑鼠游標圖示 ( cursor ) 滑鼠事件 ( pointer-events ) 使用者選取 ( user-select ) 捲動行為 ( scroll、overscroll ) 列印換頁 ( break-* )

CSS 預處理器

認識 CSS 預處理器 Less ( 安裝、開始使用 ) Less ( 巢狀結構、選擇器 ) Less ( 變數、import ) Less ( Extend、Mixin ) Less ( 邏輯、迴圈、函式 )

範例效果

CSS 圓餅圖 CSS 跑馬燈 Google 載入動畫 漸層色的轉場與動畫 電子時鐘數字 不規則形狀動畫 彈跳的正方形動畫 3D 正多面體 超連結底線動畫效果 噁心黏黏球效果 漸層色製作星空背景 CSS 視差滾動效果 捲軸控制放射形選單 捲軸改變文字背景色 CSS 頁面捲動進度條 CSS 水波效果 圓點載入動畫 ( 陰影動畫 )