<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        關于SASS的學習總結

        來源:懂視網 責編:小采 時間:2020-11-27 18:52:17
        文檔

        關于SASS的學習總結

        關于SASS的學習總結:前言SASS是一種CSS預處理器(css preprocessor)。它的基本思想是,用一種專門的編程語言,進行網頁樣式設計,然后再編譯成正常的CSS文件。SASS提供四個編譯風格的選項:nested:嵌套縮進的css代碼,它是默認值。expanded:沒有縮進的、擴展的css代
        推薦度:
        導讀關于SASS的學習總結:前言SASS是一種CSS預處理器(css preprocessor)。它的基本思想是,用一種專門的編程語言,進行網頁樣式設計,然后再編譯成正常的CSS文件。SASS提供四個編譯風格的選項:nested:嵌套縮進的css代碼,它是默認值。expanded:沒有縮進的、擴展的css代

        前言

        SASS是一種CSS預處理器(css preprocessor)。它的基本思想是,用一種專門的編程語言,進行網頁樣式設計,然后再編譯成正常的CSS文件。

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

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

      2. expanded:沒有縮進的、擴展的css代碼。

      3. compact:簡潔格式的css代碼。

      4. compressed:壓縮后的css代碼。

      5. 導入文件

        @import命令,用來導入外部文件。

          @import "path/filename.scss";

        如果導入的是.css文件,則等同于css的import命令。

        注釋

        sass有兩種注釋方式,一種是標準的css注釋方式/* */,另一種則是//雙斜桿形式的單行注釋,不過這種單行注釋不會被轉譯出來。

        1 變量

        SASS允許使用變量,所有變量以$開頭

        普通變量

        定義之后可以在全局范圍內使用。

        默認變量

        sass的默認變量僅需要在值后面加上!default即可。

        sass的默認變量一般是用來設置默認值,然后根據需求來覆蓋的,覆蓋的方式也很簡單,只需要在默認變量之前重新聲明下變量即可

        默認變量的價值在進行組件化開發的時候會非常有用。

        特殊變量

        一般我們定義的變量都為屬性值,可直接使用,但是如果變量作為屬性或在某些特殊情況下等則必須要以#{$variables}形式使用。

        多值變量

        多值變量分為list類型和map類型,簡單來說list類型有點像js中的數組,而map類型有點像js中的對象

        全局變量

        在變量值后面加上!global即為全局變量。這個目前還用不上,不過將會在sass 3.4后的版本中正式應用。目前的sass變量范圍飽受詬病,所以才有了這個全局變量。

        2 嵌套(Nesting)

        sass的嵌套包括兩種:一種是選擇器的嵌套;另一種是屬性的嵌套。我們一般說起或用到的都是選擇器的嵌套。

        在選擇器嵌套中,可以使用&表示父元素選擇器

        屬性嵌套:所謂屬性嵌套指的是有些屬性擁有同一個開始單詞,如border-width,border-color都是以border開頭。

        .fakeshadow {
         border: {
         style: solid;
         left: {
         width: 4px;
         color: #888;
         }
         right: {
         width: 2px;
         color: #ccc;
         }
         }
        }

        @at-root:sass3.3.0中新增的功能,用來跳出選擇器嵌套的。

        3 混合(mixin)

        sass中使用 @mixin 聲明混合,可以傳遞參數,參數名以$符號開始,多個參數以逗號分開,也可以給參數設置默認值。聲明的 @mixin 通過 @include 來調用

        多個參數mixin

        調用時可直接傳入值,如 @include 傳入參數的個數小于 @mixin 定義參數的個數,則按照順序表示,后面不足的使用默認值,如不足的沒有默認值則報錯。除此之外還可以選擇性的傳入參數,使用參數名與值同時傳入。

        多組值參數mixin

        如果一個參數可以有多組值,如box-shadow、transition等,那么參數則需要在變量后加三個點表示,如$variables...。

        @content
        
        @content在sass3.2.0中引入,可以用來解決css3的@media等帶來的問題。它可以使@mixin接受一整塊樣式,接受的樣式從@content開始。
        
         //sass style
        //------------------------------- 
        @mixin max-screen($res){
         @media only screen and ( max-width: $res )
         {
         @content;
         }
        }
        
        @include max-screen(480px) {
         body { color: red }
        }
        
        //css style
        //-------------------------------
        @media only screen and (max-width: 480px) {
         body { color: red }
        }

        ** @mixin 通過 @include 調用后解析出來的樣式是以拷貝形式存在的,而下面的繼承則是以聯合聲明的方式存在的,所以從3.2.0版本以后,建議傳遞參數的用 @mixin ,而非傳遞參數類的使用下面的繼承%。**

        4 繼承

        sass中,選擇器繼承可以讓選擇器繼承另一個選擇器的所有樣式,并聯合聲明。使用選擇器的繼承,要使用關鍵詞 @extend ,后面緊跟需要繼承的選擇器。

        占位選擇器%

        從sass 3.2.0以后就可以定義占位選擇器%。這種選擇器的優勢在于:如果不調用則不會有任何多余的css文件,避免了以前在一些基礎的文件中預定義了很多基礎的樣式,然后實際應用中不管是否使用了 @extend 去繼承相應的樣式,都會解析出來所有的樣式。占位選擇器以%標識定義,通過 @extend 調用。

        占位選擇器的出現,使css文件更加簡練可控,沒有多余。所以可以用其定義一些基礎的樣式文件,然后根據需要調用產生相應的css。

        //sass style
        //-------------------------------
        %ir{
         color: transparent;
         text-shadow: none;
         background-color: transparent;
         border: 0;
        }
        %clearfix{
         @if $lte7 {
         *zoom: 1;
         }
         &:before,
         &:after {
         content: "";
         display: table;
         font: 0/0 a;
         }
         &:after {
         clear: both;
         }
        }
        #header{
         h1{
         @extend %ir;
         width:300px;
         }
        }
        .ir{
         @extend %ir;
        }
        
        //css style
        //-------------------------------
        #header h1,
        .ir{
         color: transparent;
         text-shadow: none;
         background-color: transparent;
         border: 0;
        }
        #header h1{
         width:300px;
        }

        在 @media 中暫時不能 @extend @media外的代碼片段,以后將會可以。

        5 函數

        sass定義了很多函數可供使用,當然你也可以自己定義函數,以 @fuction 開始。sass的官方函數鏈接為:sass fuction,實際項目中我們使用最多的應該是顏色函數,而顏色函數中又以lighten減淡和darken加深為最,其調用方法為lighten($color,$amount)和darken($color,$amount),它們的第一個參數都是顏色值,第二個參數都是百分比。

        // pixels to rems 
        @function pxToRem($px) {
         @return $px / $baseFontSize * 1rem;
        }

        6 運算

        sass具有運算的特性,可以對數值型的Value(如:數字、顏色、變量等)進行加減乘除四則運算。請注意運算符前后請留一個空格,不然會出錯。另外,要注意運算單位

        7 條件判斷及循環

        @if判斷

        @if可一個條件單獨使用,也可以和 @else 結合多條件使用

        三目判斷

        if($condition, $if_true, $if_false)

        for循環

        for循環有兩種形式,分別為:@for $var from

        @each循環

        語法為:@each $var in

        多個字段list數據循環

        //sass style
        //-------------------------------
        $animal-data: (puma, black, default),(sea-slug, blue, pointer),(egret, white, move);
        @each $animal, $color, $cursor in $animal-data {
         .#{$animal}-icon {
         background-image: url('/images/#{$animal}.png');
         border: 2px solid $color;
         cursor: $cursor;
         }
        }
        
        //css style
        //-------------------------------
        .puma-icon {
         background-image: url('/images/puma.png');
         border: 2px solid black;
         cursor: default; 
        }
        .sea-slug-icon {
         background-image: url('/images/sea-slug.png');
         border: 2px solid blue;
         cursor: pointer; 
        }
        .egret-icon {
         background-image: url('/images/egret.png');
         border: 2px solid white;
         cursor: move; 
        }

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        關于SASS的學習總結

        關于SASS的學習總結:前言SASS是一種CSS預處理器(css preprocessor)。它的基本思想是,用一種專門的編程語言,進行網頁樣式設計,然后再編譯成正常的CSS文件。SASS提供四個編譯風格的選項:nested:嵌套縮進的css代碼,它是默認值。expanded:沒有縮進的、擴展的css代
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲精品免费视频| 亚洲综合在线成人一区| 2021久久精品免费观看| 久久久久久毛片免费看| 亚洲爆乳无码专区www| 亚洲国产精品综合福利专区| 亚洲开心婷婷中文字幕| 免费人成视频在线观看视频| 成人免费一区二区三区在线观看| 老汉精品免费AV在线播放| 国产精品玖玖美女张开腿让男人桶爽免费看| 亚洲日韩精品无码专区加勒比☆| 亚洲欧洲日产国码www| 久久精品7亚洲午夜a| 综合亚洲伊人午夜网| 免费在线观看一级毛片| 色www永久免费视频| 色妞WWW精品免费视频| 在线视频精品免费| 亚洲大片免费观看| 99久9在线|免费| 久草免费手机视频| 免费黄网站在线观看| 日本三级在线观看免费| 国产精品偷伦视频免费观看了| 无码精品人妻一区二区三区免费 | 无码日韩人妻AV一区免费l| 亚洲αⅴ无码乱码在线观看性色| 亚洲午夜精品一区二区公牛电影院 | 亚洲AV无码成人精品区大在线| 免费高清资源黄网站在线观看| 女人18毛片a级毛片免费视频| 成人毛片免费网站| 卡1卡2卡3卡4卡5免费视频| 久久精品免费一区二区喷潮| 日韩吃奶摸下AA片免费观看| 在线免费观看一级片| 国产成人涩涩涩视频在线观看免费 | 亚洲av中文无码乱人伦在线咪咕 | 一级美国片免费看| 一区二区三区免费在线视频 |