国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

CSS預(yù)處理器-Less

這篇具有很好參考價(jià)值的文章主要介紹了CSS預(yù)處理器-Less。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、什么是less

?????? ~~~~~~ ??????Less(Leaner Style Sheets 精簡(jiǎn)樣式表) 是一種動(dòng)態(tài)樣式語言,屬于 css 預(yù)處理器的范疇,它擴(kuò)展了 CSS 語言,增加了變量、Mixin、函數(shù)等特性,使 CSS 更易維護(hù)和擴(kuò)展,Less 既可以在 客戶端 上運(yùn)行 ,也可以借助 Node.js 在服務(wù)端運(yùn)行。
Less 編譯工具:

  • Koala(opens new window)
  • vscode 的 Easy LESS 插件

二、基本使用

2.1 基本語法

  • 多行注釋保留
  • 單行注釋不被保留在編譯生成的 CSS 中
  • @ 聲明變量,作為普通屬性值使用
/*
多行注釋保留
*/
// 單行注釋不被保留在編譯生成的 CSS 中
@width:100px;
.outer{
    width: @width+100px;
    height: @width+100px;
    border: 1px solid red;
    .inner{
        margin: 0 auto;
        margin-top: 50px;
        width: 50px;
        height: 50px;
        background-color: orange;
    }
}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" type="text/css" href="../css/01.css"/>
</head>
<body>
    <div class="outer">
        <div class="inner"></div>
    </div>
</body>
</html>

2.2 變量插值

  • 變量用于選擇器名、屬性名、URL、@import語句
/*
變量用于選擇器名、屬性名、URL、@import語句
*/
@selector:outer;
// 需要添加 {}
.@{selector}{
    height: 200px;
    width: 200px;
    background-color: orange;
}

@property: color;

.widget {
  @{property}: #0ee;
  background-@{property}: #999;
}
@images: '../img';

// Usage
body {
  color: #444;
  background: url('@{images}/white-sand.png');
}

@themes: '../../src/themes';

// Usage
@import '@{themes}/tidal-wave.less';

2.3 延遲加載

當(dāng)一個(gè)變量被聲明多次,會(huì)取最后一次的值,并從當(dāng)前作用域往外尋找變量。

//當(dāng)一個(gè)變量被聲明多次,會(huì)取最后一次的值,并從當(dāng)前作用域往外尋找變量。
@var:0;
.outer{
    @var:1px;
    .inner{
        @var:2px;
        height: 200px;
        width: 200px;
        background-color: orange;
        border: @var solid black;
        @var:3px;
    }
    width: 300 * @var;
    height: 300 * @var;
}

.outer {
  width: 300px;
  height: 300px;
}
.outer .inner {
  height: 200px;
  width: 200px;
  background-color: orange;
  border: 3px solid black;
}

2.4 屬性名變量

您可以很容易地將屬性看作是使用$prop語法的變量

// 您可以很容易地將屬性看作是使用$prop語法的變量
.outer{
    width: 200px;
    height: @width;
    border: 1px solid black;
}

2.5 嵌套

Less 提供了使用嵌套(nesting)代替層疊或與層疊結(jié)合使用的能力

//Less 提供了使用嵌套(nesting)代替層疊或與層疊結(jié)合使用的能力
.outer{
    width: 200px;
    height: 200px;
    border: 1px solid black;
    @width:50px;
    @height:50px;
    .inner1{
        width: @width;
        height: @height;
        background-color: orange;
    }
    .inner2{
        width: @width;
        height: @height;
        background-color: red;
    }
}

2.6 父選擇器

在嵌套規(guī)則中, & 表示父選擇器,常用于給現(xiàn)有選擇器添加偽類。

//在嵌套規(guī)則中, &表示父選擇器,常用于給現(xiàn)有選擇器添加偽類。
// 如果沒有 &,會(huì)被編譯成后代選擇器 .inner1 :hover。
.outer{
    width: 200px;
    height: 200px;
    border: 1px solid black;
    margin: 0 auto;
    position: relative;
    .inner1{
        width: 100px;
        height: 100px;
        background-color: orange;
        transition: 0.2s linear;
        position: absolute;
        top: 50px;
        left: 50px;
        &:hover{
            box-shadow: 0 0 20px black;
        }
    }
}

如果沒有 &,會(huì)被編譯成后代選擇器 a :hover。

除此之外,& 還能用于生成重復(fù)類名:

//除此之外,& 還能用于生成重復(fù)類名:
.box{
    &-demo{
        width: 200px;
        height: 200px;
        background-color: red;
    }
}

三、混合

3.1 普通混合

混合(Mixin)是一種將一組屬性從一個(gè)規(guī)則集包含(或混入)到另一個(gè)規(guī)則集的方式,可理解為復(fù)制粘貼

//混合(Mixin)是一種將一組屬性從一個(gè)規(guī)則集包含(或混入)到另一個(gè)規(guī)則集的方式,可理解為復(fù)制粘貼。
.test{
    width: 100px;
    height: 100px;
    background-color: orange;
}
.outer{
    width: 200px;
    height: 200px;
    border: 1px solid black;
    .inner1{
        .test()
    }
}
.test {
  width: 100px;
  height: 100px;
  background-color: orange;
}
.outer {
  width: 200px;
  height: 200px;
  border: 1px solid black;
}
.outer .inner1 {
  width: 100px;
  height: 100px;
  background-color: orange;
}

3.2 帶參數(shù)的混合

  1. 混合帶參數(shù),參數(shù)需要按順序傳遞
    //1.混合帶參數(shù),參數(shù)需要按順序傳遞
    .border1(@width,@style,@color){
        border: @width @style @color;
    }
    .outer{
        width: 200px;
        height: 200px;
        .border1(1px,solid,black);
    }
    
    .outer {
      width: 200px;
      height: 200px;
      border: 1px solid black;
    }
    
  2. 混合帶參數(shù)并有默認(rèn)值
    需注意的是,就算有默認(rèn)值,也要按順序傳遞
//2.混合帶參數(shù)并有默認(rèn)值
.border2(@width:2px,@style,@color:red){
    border: @width @style @color;
}
.outer{
    .inner1{
        width: 100px;
        height: 100px;
        .border2(1px,solid);
    }
}

3.3 命名參數(shù)

可以在向混合傳參是指定參數(shù)名稱,從而不需要按順序傳入

//可以在向混合傳參時(shí)指定參數(shù)名稱,從而不需要按順序傳入
.border1(@width:2px,@style,@color){
    border: @width @style @color;
}
.outer{
    width: 200px;
    height: 200px;
    .border1(@style:solid,@color:black);
}

3.4 @arguments 變量

@arguments 變量包含了傳入的所有參數(shù)

//@arguments 變量包含了傳入的所有參數(shù)
.box-shadow(@x: 0, @y: 0, @blur:20px, @color: #000){
    box-shadow: @arguments;
}
.outer{
    height: 200px;
    width: 200px;
    border: 1px solid black;
    .box-shadow(0,0,@color:red);
}

3.5 匹配模式

在多個(gè)相同的混合中(參數(shù)個(gè)數(shù)必須相同),匹配特定的混合。

.mixin(dark, @color) {
  color: darken(@color, 10%);
}
.mixin(light, @color) {
  color: lighten(@color, 10%);
}
// @_ 表示匹配所有
.mixin(@_, @color) {
  display: block;
}

@switch: light;

.class {
  .mixin(@switch, #888);
}

.class {
  color: #a2a2a2;
  display: block;
}

四、運(yùn)算

計(jì)算結(jié)果以操作數(shù)最左側(cè)的單位類型為準(zhǔn)

//計(jì)算結(jié)果以操作數(shù)最左側(cè)的單位類型為準(zhǔn)
@conversion-1: 5cm + 10mm; // 6cm
@conversion-2: 2 - 3cm - 5mm; // -1.5cm
@conversion-3: 3.1 * 2cm; // 6.2cm
@conversion-4: 4px / 2; // 4px / 2

// conversion is impossible
@incompatible-units: 1cm - 1px; // 0.97354167cm

// example with variables
@base: 5%;
@filler: @base * 2; // 10%
@other: @base + @filler; // 15%

@color: #224488 / 2; // #112244

body{
    background-color: #112244 + #111; // #223355
}

五、繼承

5.1 繼承格式

繼承可讓多個(gè)選擇器應(yīng)用同一組屬性,最終編譯為并集選擇器
其性能比混合高,但靈活性比混合低

/*
繼承可讓多個(gè)選擇器應(yīng)用同一組屬性,最終編譯為并集選擇器
其性能比混合高,但靈活性比混合低
*/
.inner1{
    &:extend(.inner);
    background-color: orange;
}
.inner{
    width: 50px;
    height: 50px;
}

.inner1 {
  background-color: orange;
}
.inner,
.inner1 {
  width: 50px;
  height: 50px;
}

5.2 繼承all

可理解為把 all 前的選擇器出現(xiàn)的地方全都替換為 extend 前的選擇器
即把 .test 替換為 .replacement 生成一個(gè)新的選擇器應(yīng)用樣式,且不破壞原有的選擇器

/*
可理解為把 all 前的選擇器出現(xiàn)的地方全都替換為 extend 前的選擇器
即把 .test 替換為 .replacement 生成一個(gè)新的選擇器應(yīng)用樣式,且不破壞原有的選擇器
*/
.box.inner1{
    width: 200px;
    height: 200px;
    background-color: orange;
}
.inner2:extend(.inner1 all){

}
.box.inner1,
.box.inner2 {
  width: 200px;
  height: 200px;
  background-color: orange;
}

六、避免編譯

通過加引號(hào)可以避免 Less 編譯,直接把內(nèi)容輸出到 CSS 中

//通過加引號(hào)可以避免 Less 編譯,直接把內(nèi)容輸出到 CSS 中
.outer{
    width: '200px + 100px';
    height: 200px;
    background-color: orange;
}
.outer {
  width: '200px + 100px';
  height: 200px;
  background-color: orange;
}

七、命名空間和訪問符

有時(shí),出于組織結(jié)構(gòu)或僅僅是為了提供一些封裝的目的,你希望對(duì)混合(mixins)進(jìn)行分組。你可以用 Less 更直觀地實(shí)現(xiàn)這一需求。假設(shè)你希望將一些混合(mixins)和變量置于 #bundle 之下,為了以后方便重用或分發(fā):

#bundle() {
  .button {
    display: block;
    border: 1px solid black;
    background-color: grey;
    &:hover {
      background-color: white;
    }
  }
  .tab { ... }
  .citation { ... }
}

現(xiàn)在,如果我們希望把 .button 類混合到 #header a 中,我們可以這樣做:

#header a {
  color: orange;
  #bundle.button();  // 還可以書寫為 #bundle > .button 形式
}

八、映射

從 Less 3.5 版本開始,你還可以將混合(mixins)和規(guī)則集(rulesets)作為一組值的映射(map)使用。

#colors() {
  primary: blue;
  secondary: green;
}

.button {
  color: #colors[primary];
  border: 1px solid #colors[secondary];
}
.button {
  color: blue;
  border: 1px solid green;
}

learn more文章來源地址http://www.zghlxwxcb.cn/news/detail-666954.html

到了這里,關(guān)于CSS預(yù)處理器-Less的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 擁抱簡(jiǎn)潔:探索Stylus的簡(jiǎn)潔語法與CSS預(yù)處理器之美

    擁抱簡(jiǎn)潔:探索Stylus的簡(jiǎn)潔語法與CSS預(yù)處理器之美

    Stylus 是一種 CSS 預(yù)處理器,具有以下十大特點(diǎn): Stylus 使用類似于 Python 的縮進(jìn)風(fēng)格的語法,可以省略大括號(hào)和分號(hào),使代碼更加簡(jiǎn)潔易讀。 當(dāng)涉及到Stylus的簡(jiǎn)潔語法時(shí),以下是一個(gè)實(shí)際的代碼案例來展示其特點(diǎn): 在這個(gè)例子中,我們可以看到 Stylus 的簡(jiǎn)潔語法。它省略了大

    2024年02月12日
    瀏覽(25)
  • Less預(yù)處理器教程

    Less預(yù)處理器教程

    less官方文檔 lesscss.org/ less中文文檔 less.bootcss.com/ less是一種css預(yù)處理器,它擴(kuò)展了css語言,提供了變量、嵌套、混合、運(yùn)算等功能,使樣式表的編寫更加靈活和高效,用來書寫css的工具。 通俗的說,less是一種專門編寫css代碼的語言(工具),通過less來編寫css代碼變得更靈活,

    2024年02月21日
    瀏覽(27)
  • Less預(yù)處理——繼承、導(dǎo)入、條件表達(dá)式和函數(shù)

    1、extend 的使用 extend 是 Less 的一個(gè)偽類,它可繼承所匹配聲明中的全部樣式 index.less 文件 index.css 文件 自動(dòng)轉(zhuǎn)義后的 css 文件內(nèi)容如下 2、all 全局搜索替換 使用選擇器匹配到的全部聲明 index.less 文件 index.css 文件 自動(dòng)轉(zhuǎn)義后的 css 文件內(nèi)容如下 3、減少代碼的重復(fù)性

    2024年02月20日
    瀏覽(25)
  • 前端三大Css處理器之Less

    Less是Css預(yù)處理器之一,分別有Sass、Less、Stylus這三個(gè)。 ? ? ? ? Less https://lesscss.org/ ? ? ? ? Less 是用JavaScript編寫的,事實(shí)上,Less是一個(gè)JavaScript庫,他通過混合、變量、嵌套和規(guī)則設(shè)置循環(huán)擴(kuò)展了原生普通Css的功能。 Less的少數(shù)缺點(diǎn)之一是它 不支持函數(shù) 。 Less的語法與Scss十

    2024年02月10日
    瀏覽(21)
  • less預(yù)處理語言的運(yùn)用之-變量拼接那點(diǎn)事

    less預(yù)處理語言的運(yùn)用之-變量拼接那點(diǎn)事

    less語法的技巧總結(jié),很基礎(chǔ),熟練掌握后能提高我們?cè)诖笮晚?xiàng)目中的開發(fā)效率 遞歸 less連接符與import 關(guān)注我的個(gè)人公眾號(hào),獲取更多前后端開發(fā)經(jīng)驗(yàn)知識(shí)

    2024年02月16日
    瀏覽(33)
  • 前端:css less語法 /deep/ 深度影響的用法

    前端:css less語法 /deep/ 深度影響的用法

    css中通常會(huì)在 style 標(biāo)簽內(nèi)添加?scoped?來避免父組件對(duì)子組件的影響,添加了之后只能修改當(dāng)前組件的樣式。 這樣做的原理是通過在打包的時(shí)候給每個(gè)樣式都添加一個(gè)獨(dú)一無二的hash值,從而避免父組件對(duì)子組件的樣式的影響。 添加后控制臺(tái)顯示的樣式就會(huì)像這樣: ? ? 設(shè)置

    2024年02月12日
    瀏覽(18)
  • 前端css/less繞橢圓軌道旋轉(zhuǎn)動(dòng)畫 帶遮擋效果 3D

    前端css/less繞橢圓軌道旋轉(zhuǎn)動(dòng)畫 帶遮擋效果 3D

    效果如圖,多個(gè)物體在軌道上繞中心物體旋轉(zhuǎn),當(dāng)旋轉(zhuǎn)到物體后面時(shí)將被遮擋。主要使用css實(shí)現(xiàn),為了簡(jiǎn)化代碼,引入less進(jìn)行處理。 本質(zhì)上是使用動(dòng)畫控制軌道帶動(dòng)內(nèi)部的物體進(jìn)行旋轉(zhuǎn),計(jì)算出每個(gè)物體在橢圓軌道上的位置,使用絕對(duì)定位放置物體。由于軌道上物體有多個(gè)

    2024年02月03日
    瀏覽(53)
  • 【前端面經(jīng)】CSS-less/sass/scss的區(qū)別和基本使用

    隨著Web開發(fā)的不斷發(fā)展,CSS預(yù)處理器變得越來越流行。它們?yōu)閃eb開發(fā)者提供了一種更高效、更簡(jiǎn)便的CSS編寫方式。Less、Sass以及SCSS作為最受歡迎的三種CSS預(yù)處理器,它們都為CSS編寫提供了不同的特點(diǎn)和功能。 在本篇博客中,我們將會(huì)探討這三種預(yù)處理器之間的區(qū)別以及它們的

    2024年02月06日
    瀏覽(28)
  • 前端實(shí)現(xiàn)動(dòng)態(tài)切換主題色-使用 css/less 動(dòng)態(tài)更換主題顏色(換膚功能)或通過單擊更改背景顏色

    提示: 以下是本篇文章正文內(nèi)容,主要描述 使用 css/less 動(dòng)態(tài)更換主題色(換膚功能) 提示: 使用 css/less 動(dòng)態(tài)更換主題色(換膚功能), 方法共通,不限制技術(shù)棧: 其實(shí)在日常項(xiàng)目開發(fā)中經(jīng)常會(huì)遇到有些用戶想要一些自定義的的主題色來滿足不同的視覺需求,這時(shí)候就需

    2024年02月15日
    瀏覽(23)
  • CSS樣式前端HTML頁面常用CSS效果實(shí)現(xiàn)及其相關(guān)配置信息------前端入門基礎(chǔ)教程

    !DOCTYPE html !-- 這是HTML的注釋 -- html lang=\\\"en\\\" id=\\\"myHtml\\\" ?? ?head ?? ??? ?!-- 這里不是設(shè)置了編碼,而是告訴瀏覽器,用什么編碼方式打開文件避免亂碼 -- ?? ??? ?meta charset=\\\"UTF-8\\\" ?? ??? ?meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1.0\\\" ?? ??? ?titleHtmlAll/title ?? ??? ?

    2024年02月05日
    瀏覽(34)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包