成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

scss-函數(shù)

Shisui / 2503人閱讀

摘要:本身帶有大量的內(nèi)置函數(shù),具體可以參閱官網(wǎng)函數(shù)模塊。語法開頭聲明一個(gè)函數(shù),函數(shù)內(nèi)部使用返回一個(gè)值,參數(shù)可以省略。是一個(gè)內(nèi)置函數(shù),可以從列表中找到對(duì)應(yīng)索引的值索引是從開始的,與大多數(shù)編程語言從開始不同。

  在scss中除了可以定義變量,具有@extend和@mixins等特性之外,還自備了一系列的函數(shù)功能。

  scss本身帶有大量的內(nèi)置函數(shù),具體可以參閱官網(wǎng)函數(shù)模塊。

?

  一、字符串函數(shù)

  • unquote($string):只能刪除字符串最前和最后的引號(hào)(雙引號(hào)或單引號(hào)),而無法刪除字符串中間的引號(hào)。如果字符沒有帶引號(hào),返回的將是字符串本身。
  • quote($string):只能給字符串增加雙引號(hào),而且字符串中間有單引號(hào)或者空格時(shí),需要用單引號(hào)或雙引號(hào)括起,否則編譯的時(shí)候?qū)?huì)報(bào)錯(cuò)。

?

  二、數(shù)字函數(shù)

  • percentage($value):將一個(gè)不帶單位的數(shù)轉(zhuǎn)換成百分比值,如果轉(zhuǎn)換的值是一個(gè)帶有單位的值,那么在編譯的時(shí)候會(huì)報(bào)錯(cuò)誤信息:
  • round($value):將數(shù)值四舍五入,轉(zhuǎn)換成一個(gè)最接近的整數(shù),可以攜帶單位的任何數(shù)值。
  • ceil($value):將大于自己的小數(shù)轉(zhuǎn)換成下一位整數(shù);將一個(gè)數(shù)轉(zhuǎn)換成最接近于自己的整數(shù),會(huì)將一個(gè)大于自身的任何小數(shù)轉(zhuǎn)換成大于本身1的整數(shù)。也就是只做入,不做舍的計(jì)算
  • floor($value):將一個(gè)數(shù)去除他的小數(shù)部分;floor()函數(shù)剛好與ceil()函數(shù)功能相反,其主要將一個(gè)數(shù)去除其小數(shù)部分,并且不做任何的進(jìn)位。也就是只做舍,不做入的計(jì)算
  • abs($value):返回一個(gè)數(shù)的絕對(duì)值;
  • min($numbers…):找出幾個(gè)數(shù)值之間的最小值;
  • max($numbers…):找出幾個(gè)數(shù)值之間的最大值。

?

  三、List函數(shù)

  • length($list):返回一個(gè)列表的長(zhǎng)度值;
  • nth($list, $n):返回一個(gè)列表中指定的某個(gè)標(biāo)簽值
  • join($list1, $list2, [$separator]):將兩個(gè)列給連接在一起,變成一個(gè)列表;
  • append($list1, $val, [$separator]):將某個(gè)值放在列表的最后;
  • zip($lists…):將幾個(gè)列表結(jié)合成一個(gè)多維的列表;
  • index($list, $value):返回一個(gè)值在列表中的位置值。

  四、自定義函數(shù)

  可能有時(shí)候,內(nèi)置的函數(shù)并不能夠完全滿足我們的需求,那么我們也自定義函數(shù)。

  語法:

@function function-name($args) { 
  @return value-to-be-returned; 
}

  @function開頭聲明一個(gè)函數(shù),函數(shù)內(nèi)部使用@return返回一個(gè)值,參數(shù)可以省略??傮w來講scss中的函數(shù)和JavaScript中的函數(shù)大同小異,并且具備某些ES2015函數(shù)的特點(diǎn)。函數(shù)可以放置在想要使用函數(shù)返回值的地方,scss代碼實(shí)例如下

div { 
  font-size: font-size($args); 
}

  特別說明:scss函數(shù)名中的中劃線和下劃線是等同的,font-size和font_size指向同一個(gè)函數(shù)。

@function column-width($col, $total) { 
  @return percentage($col/$total); 
}
.col-3 { 
  width: column-width(3, 8); 
}

  編譯后的css代碼如下:

.col-3 {
  width: 37.5%;
}

  默認(rèn)參數(shù):scss代碼實(shí)例如下:

@function column-width($col:3, $total:8) { 
  @return percentage($col/$total); 
}
.col-3 { 
  width: column-width(); 
}

  參數(shù)名稱后面跟著一個(gè)冒號(hào),冒號(hào)后面就是規(guī)定的默認(rèn)參數(shù)值;函數(shù)調(diào)用時(shí),對(duì)應(yīng)的參數(shù)沒有傳遞值,那么就使用默認(rèn)參數(shù)值,上面代碼編譯結(jié)果如下:

.col-3 {
  width: 37.5%;
}

  再來看一段scss代碼實(shí)例:

@function column-width($col:3, $total) { 
  @return percentage($col/$total); 
}
.col-3 { 
  width: column-width(4); 
}

  上面的代碼會(huì)報(bào)錯(cuò),函數(shù)調(diào)用時(shí)只傳遞了一個(gè)參數(shù),但是函數(shù)聲明時(shí)規(guī)定了兩個(gè)參數(shù),并且第二個(gè)參數(shù)沒有默認(rèn)值,也就是說函數(shù)調(diào)用時(shí)所傳遞的參數(shù)必須和聲明時(shí)規(guī)定的參數(shù)對(duì)應(yīng)起來。

  

@function column-width($col:3, $total:8) { 
  @return percentage($col/$total); 
}
.col-3 { 
  width: column-width(4); 
}

  傳遞的參數(shù)會(huì)覆蓋默認(rèn)的參數(shù),所以4會(huì)覆蓋3,第二個(gè)參數(shù)使用默認(rèn)值。編譯結(jié)果如下:

.col-3 {
  width: 50%;
}

  函數(shù)rest參數(shù):

  給函數(shù)傳遞的參數(shù)個(gè)數(shù)也許不是固定的,或者不能預(yù)知為函數(shù)傳遞參數(shù)的個(gè)數(shù)。代碼實(shí)例如下:

@function column-width($index, $widths...){ 
  @return nth($widths, $index); 
}
.col-3 { 
  width: column-width(3, 25%, 50%, 75%, 100%); 
}

  rest參數(shù)的形式是參數(shù)名稱后面跟三個(gè)點(diǎn)。上面代碼中,3會(huì)傳遞給$index,后面的剩余參數(shù)會(huì)都傳遞給$widths($widths生成一個(gè)list列表)。nth()是一個(gè)內(nèi)置函數(shù),可以從列表中找到對(duì)應(yīng)索引的值(索引是從1開始的,與大多數(shù)編程語言從0開始不同)。上面代碼編譯結(jié)果如下:

.col-3 {
  width: 75%;
}

?  文本超出范圍,顯示省略號(hào)

/*文本格式化,超出范圍,顯示省略號(hào)*/
@mixin text-overflow($width:100%,$display:block) {
  width: $width;
  display: $display;
  white-space: nowrap;
  -ms-text-overflow: ellipsis;
  text-overflow: ellipsis;
  overflow: hidden;
}

  調(diào)用@include text-overflow();也可以自己傳入?yún)?shù),display為block或inline-block才能達(dá)到預(yù)期的效果

  編譯的css代碼如下:

    width: 100%;
    display: block;
    white-space: nowrap;
    -ms-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;

?

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/1628.html

相關(guān)文章

  • 前端之Sass/Scss實(shí)戰(zhàn)筆記

    摘要:有兩種語法規(guī)則目前新的語法規(guī)則從開始被稱為時(shí)髦的它是語法的的拓展級(jí),就是說每一個(gè)語法正確的文件也是合法的文件,文件使用作為拓展名。備注注意源文件和目標(biāo)文件之間是冒號(hào),與編譯命令中為空格不同。 Introduction Sass 有兩種語法規(guī)則(syntaxes),目前新的語法規(guī)則(從 Sass 3開始)被稱為 SCSS( 時(shí)髦的css(Sassy CSS)),它是css3語法的的拓展級(jí)...

    Sike 評(píng)論0 收藏0
  • CSS外掛:Sass的那些裝逼函數(shù)(function)

    摘要:,返回的最大值。非相同的單位,報(bào)錯(cuò)編譯為,返回一個(gè)隨機(jī)數(shù)。函數(shù)函數(shù)稱為三元條件函數(shù),主要因?yàn)樗椭械娜袛喾浅5南嗨?。顏色函?shù)暫時(shí)還沒用到過。函數(shù),根據(jù)三個(gè)值創(chuàng)建一個(gè)顏色將一個(gè)顏色根據(jù)透明度轉(zhuǎn)換成顏色。 前戲:前幾篇文章其實(shí)都是些基礎(chǔ)必備的,什么變量、繼承、占位符、混合宏...這回來高級(jí)點(diǎn)的,玩玩Sass 自帶的一些函數(shù)...有字符串函數(shù)(String Functions)、數(shù)字函數(shù)...

    booster 評(píng)論0 收藏0
  • 挑逗Bootstrap4源代碼 - Grid篇(上)

    摘要:候補(bǔ),分別代表兩種寬度之間和僅在一種寬度下的情形。這里是一個(gè)很重要的變化,大家可以注意到,這里的變成了,這也是主要的改進(jìn)之一,這個(gè)基礎(chǔ)構(gòu)建的變化意味著整個(gè)框架在很大程度上都會(huì)建立在的基礎(chǔ)上滾蛋吧。 本文所引用的版本為Bootstrap 4 Beta版,閱讀者請(qǐng)先下載好相關(guān)源文件。 時(shí)光荏苒,若后續(xù)版本代碼發(fā)生變化,將看心情進(jìn)行更新補(bǔ)充。如果你覺得本文不錯(cuò),歡迎評(píng)論支持,如需轉(zhuǎn)載請(qǐng)標(biāo)明...

    wizChen 評(píng)論0 收藏0
  • SASS知識(shí)點(diǎn)

    SASS介紹 css預(yù)處理器。其實(shí)還有用的很多的less,stylus。SASS支持所有css語法基礎(chǔ)的文件命名方法以_開頭 準(zhǔn)備工具 SASS編譯工具?官方下載地址,下載對(duì)應(yīng)版本 用法: 將項(xiàng)目中的css文件夾拖入Koala 創(chuàng)建sass文件 后綴demo.sass (Koala會(huì)自動(dòng)編譯成demo.css) demo.html正常引入demo.css 文件 SASS基礎(chǔ)知識(shí) 變量 demo...

    jhhfft 評(píng)論0 收藏0
  • CSS、Sass、Scss,以及sass和scss的區(qū)別

    摘要:即元素脫離文檔流的布局,在頁面的任意位置顯示絕對(duì)定位脫離文檔流的布局,遺留下來的空間由后面的元素填充。相對(duì)定位不脫離文檔流的布局,只改變自身的位置,在文檔流原先的位置遺留空白區(qū)域。 1、描述 CSS 指層疊樣式表 (Cascading Style Sheets) Sass (Syntactically Awesome StyleSheets),是由buby語言編寫的一款css預(yù)處理...

    caozhijian 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<