摘要:本身帶有大量的內置函數,具體可以參閱官網函數模塊。語法開頭聲明一個函數,函數內部使用返回一個值,參數可以省略。是一個內置函數,可以從列表中找到對應索引的值索引是從開始的,與大多數編程語言從開始不同。
在scss中除了可以定義變量,具有@extend和@mixins等特性之外,還自備了一系列的函數功能。
scss本身帶有大量的內置函數,具體可以參閱官網函數模塊。
?
一、字符串函數
?
二、數字函數
?
三、List函數
四、自定義函數
可能有時候,內置的函數并不能夠完全滿足我們的需求,那么我們也自定義函數。
語法:
@function function-name($args) { @return value-to-be-returned; }
@function開頭聲明一個函數,函數內部使用@return返回一個值,參數可以省略。總體來講scss中的函數和JavaScript中的函數大同小異,并且具備某些ES2015函數的特點。函數可以放置在想要使用函數返回值的地方,scss代碼實例如下
div { font-size: font-size($args); }
特別說明:scss函數名中的中劃線和下劃線是等同的,font-size和font_size指向同一個函數。
@function column-width($col, $total) { @return percentage($col/$total); } .col-3 { width: column-width(3, 8); }
編譯后的css代碼如下:
.col-3 { width: 37.5%; }
默認參數:scss代碼實例如下:
@function column-width($col:3, $total:8) { @return percentage($col/$total); } .col-3 { width: column-width(); }
參數名稱后面跟著一個冒號,冒號后面就是規定的默認參數值;函數調用時,對應的參數沒有傳遞值,那么就使用默認參數值,上面代碼編譯結果如下:
.col-3 { width: 37.5%; }
再來看一段scss代碼實例:
@function column-width($col:3, $total) { @return percentage($col/$total); } .col-3 { width: column-width(4); }
上面的代碼會報錯,函數調用時只傳遞了一個參數,但是函數聲明時規定了兩個參數,并且第二個參數沒有默認值,也就是說函數調用時所傳遞的參數必須和聲明時規定的參數對應起來。
@function column-width($col:3, $total:8) { @return percentage($col/$total); } .col-3 { width: column-width(4); }
傳遞的參數會覆蓋默認的參數,所以4會覆蓋3,第二個參數使用默認值。編譯結果如下:
.col-3 { width: 50%; }
函數rest參數:
給函數傳遞的參數個數也許不是固定的,或者不能預知為函數傳遞參數的個數。代碼實例如下:
@function column-width($index, $widths...){ @return nth($widths, $index); } .col-3 { width: column-width(3, 25%, 50%, 75%, 100%); }
rest參數的形式是參數名稱后面跟三個點。上面代碼中,3會傳遞給$index,后面的剩余參數會都傳遞給$widths($widths生成一個list列表)。nth()是一個內置函數,可以從列表中找到對應索引的值(索引是從1開始的,與大多數編程語言從0開始不同)。上面代碼編譯結果如下:
.col-3 { width: 75%; }
? 文本超出范圍,顯示省略號
/*文本格式化,超出范圍,顯示省略號*/ @mixin text-overflow($width:100%,$display:block) { width: $width; display: $display; white-space: nowrap; -ms-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; }
調用@include text-overflow();也可以自己傳入參數,display為block或inline-block才能達到預期的效果
編譯的css代碼如下:
width: 100%;
display: block;
white-space: nowrap;
-ms-text-overflow: ellipsis;
text-overflow: ellipsis;
overflow: hidden;
?
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/1628.html
摘要:有兩種語法規則目前新的語法規則從開始被稱為時髦的它是語法的的拓展級,就是說每一個語法正確的文件也是合法的文件,文件使用作為拓展名。備注注意源文件和目標文件之間是冒號,與編譯命令中為空格不同。 Introduction Sass 有兩種語法規則(syntaxes),目前新的語法規則(從 Sass 3開始)被稱為 SCSS( 時髦的css(Sassy CSS)),它是css3語法的的拓展級...
摘要:,返回的最大值。非相同的單位,報錯編譯為,返回一個隨機數。函數函數稱為三元條件函數,主要因為他和中的三元判斷非常的相似。顏色函數暫時還沒用到過。函數,根據三個值創建一個顏色將一個顏色根據透明度轉換成顏色。 前戲:前幾篇文章其實都是些基礎必備的,什么變量、繼承、占位符、混合宏...這回來高級點的,玩玩Sass 自帶的一些函數...有字符串函數(String Functions)、數字函數...
摘要:候補,分別代表兩種寬度之間和僅在一種寬度下的情形。這里是一個很重要的變化,大家可以注意到,這里的變成了,這也是主要的改進之一,這個基礎構建的變化意味著整個框架在很大程度上都會建立在的基礎上滾蛋吧。 本文所引用的版本為Bootstrap 4 Beta版,閱讀者請先下載好相關源文件。 時光荏苒,若后續版本代碼發生變化,將看心情進行更新補充。如果你覺得本文不錯,歡迎評論支持,如需轉載請標明...
摘要:即元素脫離文檔流的布局,在頁面的任意位置顯示絕對定位脫離文檔流的布局,遺留下來的空間由后面的元素填充。相對定位不脫離文檔流的布局,只改變自身的位置,在文檔流原先的位置遺留空白區域。 1、描述 CSS 指層疊樣式表 (Cascading Style Sheets) Sass (Syntactically Awesome StyleSheets),是由buby語言編寫的一款css預處理...
閱讀 834·2023-04-26 00:13
閱讀 2836·2021-11-23 10:08
閱讀 2455·2021-09-01 10:41
閱讀 2121·2021-08-27 16:25
閱讀 4205·2021-07-30 15:14
閱讀 2367·2019-08-30 15:54
閱讀 867·2019-08-29 16:22
閱讀 2744·2019-08-26 12:13