less基礎入門

来源:http://www.cnblogs.com/cythia/archive/2017/06/17/6899858.html
-Advertisement-
Play Games

平時在工作中,偶爾會遇到老大讓你修改原來寫好的樣式,如果修改的多的話,修改起來是非常麻煩的.他不像js一樣,定義變數、函數,需要修改某些值,直接修改方法就行了。less的出現,恰恰幫我們解決了這個問題 在這呢,我們簡要說明一下less: LESSCSS是一種動態樣式語言,屬於CSS預處理語言的一種, ...


  平時在工作中,偶爾會遇到老大讓你修改原來寫好的樣式,如果修改的多的話,修改起來是非常麻煩的.他不像js一樣,定義變數、函數,需要修改某些值,直接修改方法就行了。less的出現,恰恰幫我們解決了這個問題

在這呢,我們簡要說明一下less:

  LESSCSS是一種動態樣式語言,屬於CSS預處理語言的一種,它使用類似CSS的語法,為CSS的賦予了動態語言的特性,如變數、繼承、運算、函數等,更方便CSS的編寫和維護。

LESS可以在多種語言、環境中使用,包括瀏覽器端、桌面客戶端、服務端。

在學習前,我們需要做一下前期的工作:

安裝sublime text3插件:

  sublime text預設是不支持less語法的高亮顯示的,需要安裝less2css插件後才能高亮顯示。

該插件的作用:

1.當保存文件的時候,會自動生成一個同名的css文件(註意點:如果保存less的父文件夾為less,那麼就會在less同級的目錄下生成一個css文件夾,並且把生成的同名css文件保存到該css文件夾中)

2.當保存less文件的時候提示編譯錯誤信息

安裝node.js

  剛剛那隻是前期的第一步,第二步是需要安裝node.js,因為less需要node.js支持。下載安裝到這裡下載 https://nodejs.org/en/download/ 選擇自己電腦的版本下載安裝就可以了。下載安裝好之後,只需要在環境中安裝less 就好

安裝方法: 打開命令語句window+r點擊確定輸入以下語句:

$ npm install -g less

開始使用less

  完成了以上工作之後,我們終於開始要進入主題啦,下麵能我就只是講講基本的使用,詳細的使用大家還是去看官網的吧,畢竟寫起來太長了,很耗費時間呢。

  變數:less中定義變數是用@變數名:值;的方式的

@bgColor:#0094ff; 
@color:#fff;
.demo{
    background-color:@bgColor;
    color:@color;
}

生成的css代碼:

.demo {
  background-color: #0094ff;
  color: #ffffff;
}

混合式寫法:

  混合可以將一個定義好的class A輕鬆的引入到另一個class B中,從而簡單實現class B繼承class A中的所有屬性。我們還可以帶參數地調用,就像使用函數一樣。

/*less*/
@bgColor:#0094ff; 
@color:#fff;
.demo{
    background-color:@bgColor;
    color:@color;
}
.header{
    border:1px solid #ededed;
    .demo;
}



/*輸出的css*/
.demo {
  background-color: #0094ff;
  color: #ffffff;
}
.header {
  border: 1px solid #ededed;
  background-color: #0094ff;
  color: #ffffff;
}

嵌套式寫法:

  我們可以在一個選擇器中嵌套另一個選擇器來實現繼承,這樣很大程度減少了代碼量,並且代碼看起來更加的清晰。

/*less寫法*/
@bgColor:#0094ff; 
@color:#fff;
.demo{
    background-color:@bgColor;
    color:@color;
}
header{
    border:1px solid #ededed;
    .demo;
    h1 {
    font-size: 26px;
    font-weight: bold;
  }
  p { font-size: 12px;
    a { text-decoration: none;
      &:hover { border-width: 1px }
    }
  }
}


/*輸出的css*/
.demo {
  background-color: #0094ff;
  color: #ffffff;
}
header {
  border: 1px solid #ededed;
  background-color: #0094ff;
  color: #ffffff;
}
header h1 {
  font-size: 26px;
  font-weight: bold;
}
header p {
  font-size: 12px;
}
header p a {
  text-decoration: none;
}
header p a:hover {
  border-width: 1px;
}

函數 & 運算

運算提供了加,減,乘,除操作;我們可以做屬性值和顏色的運算,這樣就可以實現屬性值之間的複雜關係。LESS中的函數一一映射了JavaScript代碼,如果你願意的話可以操作屬性值。

/*less*/
@the-border: 1px;
@base-color: #111;
@red:        #842210;

#header {
  color: @base-color * 3;
  border-left: @the-border;
  border-right: @the-border * 2;
}
#footer { 
  color: @base-color + #003300;
  border-color: desaturate(@red, 10%);
}





/*css部分*/
#header {
  color: #333333;
  border-left: 1px;
  border-right: 2px;
}
#footer {
  color: #114411;
  border-color: #7d2717;
}

好了,我就講到這吧,詳細的大家可以去官網上看,理解起來也是非常容易的 附上官網地址: http://less.bootcss.com/#

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • [1]框架與庫 [2]解決方案 [3]DOM [4]通信 [5]工具包 [6]模板 [7]組件 [8]路由 [9]架構 ...
  • 今天寫頁面頁面需求到柱狀圖標,今天介紹一下我所用的Chart.js圖表插件 官網:http://www.bootcss.com/p/chart.js/ 裡面會有下載js文件和中文文檔 一、接下來簡單說一下用法 效果 其中分類為6種,他們都是new Chart(獲取的畫布).Line(數據): 1、 ...
  • ASP.NET環境下XMLHttpRequest中responseText()方法返回值為空問題討論 一、問題產生環境:用JavaScript的XMLHttpRequest發送GET請求,請求的數據來自asp.net介面,數據格式為string或json。 代碼如下: 二、分析: 1.如果將asp. ...
  • 1.三元操作符 這是一個很好的節省代碼當你想要編寫一個如果. . else語句在一線。 普通寫法: const x = 20;let big;if (x > 10) { 速記: 你還可以嵌套的if語句如下: 2. 短路評價速記 分配一個變數值到另一個變數的時候,你可能想要確保源變數不是null,未定 ...
  • 前端工程化可以自動化處理一些繁複的工作,提高開發效率,減少低級錯誤。 更重要的是,還是文章開頭的說的,前端工程化最大的意義在於給我們新的視角去看待前端開發,讓前端開發可以做更複雜、更有挑戰的事情! ...
  • 移動互聯網的爆發以及響應式頁面的尷尬症,開發web和mobile項目成為了標配,當然實際情況下,會有更多的項目。 多項目開發對於前端來說是個很大的挑戰✦ 重覆,重覆的前端架構,重覆的前端依賴,重覆的工具函數等✦ 局限,不同後臺有不同的規則,“因地制宜”真難受,剛伺候好rails又突然來個php✦ 最 ...
  • 今天又給Jquery插件“IT小鮮肉 Tree”添加了自定義圖標、自定義標簽顯示功能;目前“IT小鮮肉 Tree”已經具備有checkbox、drag and drop 等基本功能。 廢話不說,直接上圖: 自我感覺良好。主要設置了數據的iconUrl屬性,代碼如下: 還可以通過設置iconCls實現 ...
  • $("#wetg_Left_ipt2").bind("input",function() { //獲取游標位置 var Txt1Curs = $scope.getTxt1CursorPosition(this); var oldtexv = this.value; //格式化字元串4位分割,去掉非字 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...