日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SASS概念解析

發布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SASS概念解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  CSS是基礎簡單的語句組合,避免不了重復和冗長。沒有傳統編程語言的變量,控制語句等高級特性。所以css編寫低效,往往通過查找替換,大量復制來修改或者編寫。

  sass為css提供額外的高級功能,使開發更加方便快捷,更易管理。通過sass來編寫代碼,通過sass編譯成具體的css代碼,然后使用。

  sass語法按照一定規則進行縮進,然后編寫有關css的屬性。可以在scss中直接編寫css,即使不會sass語法特性,css代碼也能通過編譯,只需保存.scss后綴名即可。

  使用SASS:

    SASS提供四種編譯風格的選項:

      1.nested:嵌套縮進的CSS代碼,它是默認值;

      2.expanded:沒有縮進的擴展的CSS代碼;

      3.compact:簡潔格式的CSS代碼;

      4.compressed:壓縮后的CSS代碼;

    設置項目:

      進入項目,命令行輸入:sass-style compressed style.scss style.css 設置編碼風格,輸入sass-watch sass:css監聽某個文件或目錄,一旦文件改動,就自動生成編譯后的版本;html文件只需簡單引入css文件即可。

  sass變量:

    定義方法:$name:value

    使用方法:

      1.作為字符串:#{$name}

      2.作為屬性值:$name

$width:45px; $i:1; .main{color: greenyellow;&.side{font-size: $width;}.side-#{$i}{font-size: 50px;} }

  sass宏:@mixin

    功能:使用宏,可以避免編寫重復的代碼,依次編寫,多次使用

    不帶參數宏定義:@mixin name{}

    帶參數宏定義:@mixin name($param1,[...]){}

@mixin raius($radius) {-webkit-broder-radius:$radius;-moz-broder-radius:$radius;border-radius: $radius; }.main{a{display: block;height: 10px;width: 10px;background: red;font-size: 12px;@include raius(5px);} }

  sass樣式嵌套控制:

  

$width:45px; $i:1; $color:#000000;@mixin raius($radius) {-webkit-broder-radius:$radius;-moz-broder-radius:$radius;border-radius: $radius; }.main{color: greenyellow;&.side{font-size: $width;}.side-#{$i}{font-size: 50px;}a{display: block;height: 10px;width: 10px;background: red;font-size: 12px;@include raius(5px);color: darken($color, 10%)} }

sass進階:

  sass數據類型:  

  sass主要有六種數據類型:數字型(1,2,10px);文本型:單引號,雙引號或者不加都可以(”footer“,‘footer’,footer);顏色值類型(red,#000,rgba(255,255,255,0.2));布爾值類型(true,false);值列表:通過空格或者逗號分隔值(1.5em 1em ; 2em Arial );值映射:一個關鍵詞對應一個值(key1:value1,key2:value2)

  sass變量的作用域:

  變量聲明必須在調用變量的語句上面,這樣才能正確的調用變量

  sass變量沒有塊級作用域,而是隨執行,隨覆蓋,隨調用。調用的前面沒有變量的聲明,就會報錯;有很多變量聲明,就會調用離它最近的那個變量值;

$i:1; .main{$i:2;.side-#{$i}{font-size: 50px;} }

  sass引用父級:&

  在嵌套結構中引用父級選擇器,這時候可以用&符號代替父級選擇器

  讓一切變成字符串:#{}

  變量能作為屬性值來使用,也能用在選擇器或者屬性上面;需要用#{}將變量變成字符串,這樣就可以用在選擇器或者屬性上面了;

  sass中的四則運算:暫略

  深入了解@extend

  @extend可擴展的選擇器:只能擴展單個選擇器,可以將多個選擇器寫進一條@extend中,用逗號間隔

  

@mixin raius($radius) {-webkit-broder-radius:$radius;-moz-broder-radius:$radius;border-radius: $radius; } .font-color{color: #fff; } .font-s{font-size: 24px; } .main{color: greenyellow;&.side{font-size: $width;}.side-#{$i}{font-size: 50px;}a{display: block;height: 10px;width: 10px;background: red;@include raius(5px);@extend .font-color , .font-s;} }

   @mixin和@extend的區別:

    @mixin定義的是一個片段,這個片段可以是類似變量的一段文字一條屬性,也可以是一整個選擇器和內容,也可以是一個選擇器的一部分代碼。此外還可以傳遞參數,通過參數生成不容的代碼。需要配合@include來配合使用,類似復制的效果,@mixin的內容不會編譯輸出。@mixin可以帶默認參數。

    @extend就是簡單的擴展,基于某個選擇器,已提高復用程度。

@mixin font($color,$font-size:14px){color: $color;font-size: $font-size } p{@include font(red,20px)}

  @mixin傳遞多值參數:需要在后面加...  表示這個參數可能包含多條屬性

  多值參數還可以用在@include中傳值的時候,還可以分解某個變量值

@mixin color($color,$background,$border-c) {color:$color;background: $background;border-color: $border-c } $value:red,blue,yellow; $value-map:(color:red,background:blue,border-c:yellow); p{@include color($value...)}; a{@include color($value-map...)}

  向@mixin傳遞內容

@mixin wrap-nav {.wrap{@content;} } @include wrap-nav{#nav{background: red;} }

  sass for循環:簡單的循環,只能使用數字,每次固定一個步長

@for $i from 5 through 1 {.item-#{$i} {width:2em*$i;} }

  sass while循環:while循環可以自定義步長

$i:6; @while $i>0 {.item-#{$i} {width:2em*$i;}$i:$i-2; }

  sass each循環遍歷:遍歷一個列表或者映射型的變量,然后循環輸出

$list:a,b,c; @each $anim in list {#{$anim}-icon{background: url('./images/#{$anim}.png')} }

  sass map被稱為數據地圖,以key:value成對的出現,像一個json數據

  sass map函數提供了多種方法:

    map-get($map,$key):根據給定的key值返回value

    map-merge($map1,$map2):將兩個map合并成一個新的map

    map-remove($map,$key):從map中刪除一個key,返回一個新的map

    map-keys($map):返回map中所有的key

    map-values($map):返回map中所有的value

    map-has-key($map):根據指定的key判斷map中是否存在對應的value,有返回true,否則false

    keywords($args):返回一個函數參數,這個參數可以動態設置key和value

  webpack配置sass模塊化處理:

    sass loader模塊加modules: true,開啟css模塊化處理

轉載于:https://www.cnblogs.com/xuxiaoqiangAndHM/p/10952495.html

總結

以上是生活随笔為你收集整理的SASS概念解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99视频国产精品 | 高h喷水荡肉少妇爽多p视频 | 嫩草私人影院 | 久久久久一区 | 性猛交ⅹxxx富婆视频 | 夜夜撸av | 色爱亚洲| 成人免费区一区二区三区 | 大j8黑人w巨大888a片 | 光棍影院一区二区 | 亚洲精品一区二区三区不卡 | 在线观看日韩av电影 | 嫩草大剧院 | 欧美韩国日本一区 | 秋霞无码一区二区 | 黄大色黄大片女爽一次 | 成人免费高清在线观看 | 国产乱淫av公 | 久久大胆人体 | 白浆四溢| 国产三级国产精品国产国在线观看 | 欧美片网站yy | 九色视频网站 | av免费观看网 | 国产黄色av片 | 成人免费三级 | 无码人妻精品丰满熟人区 | 图片区视频区小说区 | 一级美女大片 | 亚洲草逼 | 国精产品一品二品国精品69xx | 国产女人18水真多毛片18精品 | 国产一区二区不卡在线 | 国产乡下妇女做爰视频 | 亚洲三级在线播放 | 婷婷av在线 | 中文字幕一区二区三区乱码在线 | 欧美大片www| 日韩经典一区二区三区 | 精品一区二区成人免费视频 | 三级男人添奶爽爽爽视频 | 成人看片 | 最新黄色网页 | 日本黄图 | 伊人久艹 | 国产免费高清av | 欧美日韩国| 久久久成人精品一区二区三区 | 成人午夜视频免费观看 | 丰满少妇在线观看网站 | 欧洲xxxxx| 日本一二三区不卡 | 日本三级视频在线播放 | 99免费在线观看视频 | 69国产精品| 欧美片免费网站 | 欧美精品一区二区三区在线 | 热热久| 日日夜夜网 | 免费欧美一级 | 九九热在线精品视频 | 凸凹人妻人人澡人人添 | 色在线视频观看 | 日本一级网站 | 午夜精品久久久久久久91蜜桃 | 在线99视频 | 吃奶在线观看 | 精品少妇久久久久久888优播 | 我们的生活第五季在线观看免费 | 成人国产免费视频 | av大西瓜 | 一级片免费观看视频 | 99久久精品国产成人一区二区 | 国产偷人妻精品一区二区在线 | 九七久久 | 97久久人人超碰caoprom欧美 | 射久久久 | 欧美在线va | 女女h百合无遮羞羞漫画软件 | 网站免费在线观看 | 一区二区三区韩国 | 亚洲av无码专区在线电影 | aa级黄色片 | 天天做天天爱天天操 | 日本美女视频 | 男女免费看| 日韩一区二区三区不卡视频 | 亚洲综合激情在线 | 五月精品 | 视频在线一区 | 欧美日韩不卡一区二区 | 人人玩人人干 | www.久久视频 | 国产一区二区小视频 | 成人在线视频网 | 精品免费国产 | 国产第三区 | 国产制服丝袜 | 动漫av网 |