목차
1. 字符串函数
1.1 quote()
1.2 unquote()
1.3 str-length()
1.4 to-upper-case()
1.5 to-lower-case()
2. 数字函数
2.1 percentage()
2.2 round()
2.3 ceil()
2.4 floor()
2.5 abs()
2.6 min() max()
2.7 random()
3. 列表函数
3.1 length() nth()
3.2 join()
3.3 index()
3.4 list-separator()
4. Introspection 函数
4.1 type-of()
4.2 unit()
4.3 unitless()
5. Miscellaneous 函数
6. 颜色函数
6.1 RGB函数()
7. Reference API
웹 프론트엔드 HTML 튜토리얼 CSS外挂:Sass的那些装逼函数(function)_html/css_WEB-ITnose

CSS外挂:Sass的那些装逼函数(function)_html/css_WEB-ITnose

Jun 21, 2016 am 08:51 AM

前戏:前几篇文章其实都是些基础必备的,什么变量、继承、占位符、混合宏...这回来高级点的,玩玩 Sass自带的一些函数...有字符串函数( String Functions)、数字函数( Number Functions)、列表函数( List Functions)、颜色函数( Color Functions)、 Introspection函数( Introspection Functions)、三元函数( Miscellaneous Function)

1. 字符串函数

1.1 quote()

quote($string)给 $string前后添加引号。

//SCSS:p:after{  content: quote(hello +' '+ sass);   //中间有空格(其他特殊符号)需要拼字符串;quote(hello sass); 直接这样会报错;}p:before{  content: quote('This\'s' + ' ' + 'bug');  //如果$string本身就带有引号,则会统一换成双引号`""`;}//编译为:p:after { content: "hello sass"; }p:before { content: "This's bug"; }
로그인 후 복사

1.2 unquote()

unquote($string)删除 $string前后的引号。

//SCSS:p:after{  content: unquote("This's bug"); //中间的引号未被删除;}p:before{  content: unquote(Thissbug);  //如$string本身就不带引号,则返回$string本身;}//编译为:p:after { content: This's bug; }p:before { content: sass; }
로그인 후 복사

其实吧!这俩玩意在项目中我还真没用到过!

1.3 str-length()

str-length($string)返回 $string的长度。

//SCSS:p:before { content: str-length('hello sass!'); }//编译为:p:before { content: 11; }
로그인 후 복사

1.4 to-upper-case()

to-upper-case($string)将 $string小写字母转成大写字母。

//SCSS:p:before { content: to-upper-case('hello sass!'); }//编译为:p:before { content: "HELLO SASS!"; }
로그인 후 복사

1.5 to-lower-case()

to-lower-case($string)将 $string大写字母转成小写字母。

//SCSS:p:before { content: to-lower-case('HELLO SASS!'); }//编译为:p:before { content: "hello sass!"; }
로그인 후 복사

2. 数字函数

2.1 percentage()

percentage($number)将一个不带单位的数值转成百分比。

//SCSS:.box{ width: percentage(.5)}.box2{ width: percentage(.1rem / .3rem)}
로그인 후 복사

经测试,两个相同的单位,除了用除法 '/' 其他+-%均会报错,且用除法 '/' 也只能在两个相同类型的单位之间进行运算;*

//编译为:.box { width: 50%; }.box2 { width: 33.33333%; }
로그인 후 복사

2.2 round()

round($number)将 $number四舍五入为整数, $number可带单位。

//SCSS:.xs-row{ width: round(33.33333333333333px)}//编译为:.xs-row { width: 33px; }
로그인 후 복사

2.3 ceil()

ceil($number)大于 $number,向上取整。

//SCSS.fs14{ font-size: ceil(13.1px)}.fs16{ font-size: ceil(15.9px)}//编译为:.fs14 { font-size: 14px; }.fs16 { font-size: 16px; }
로그인 후 복사

2.4 floor()

与 ceil()相反, floor($number)去除 $number小数,向下取整。

//SCSS:.fs14{ font-size: floor(14.1px) }.fs16{ font-size: floor(16.9px) }//编译为:.fs14 { font-size: 14px; }.fs16 { font-size: 16px; }
로그인 후 복사

2.5 abs()

abs($number),返回 $number的绝对值。

//SCSS:.fs16{ font-size: abs(-1.6rem) }.fs18{ font-size: abs(1.8rem) }//编译为:.fs16{ font-size: 1.6rem; }.fs18{ font-size: 1.8rem; }
로그인 후 복사

2.6 min() max()

min($numbers…),返回 $number...的最小值。

max($numbers…),返回 $number...的最大值。

//SCSS:div{ width: min(2rem, 10rem) }div{ width: max(2rem, 10rem) }div{ width: max(2px, 10rem) } //非相同的单位,报错//编译为:div { width: 2rem; }div { width: 10rem; }Incompatible units: 'rem' and 'px'
로그인 후 복사

2.7 random()

random([$limit]),返回一个随机数。

//SCSS:div {    height: random(); //直接调用    width: random(666); //传个参}//编译为:div {  height: 0.3649;  width: 403;}
로그인 후 복사

3. 列表函数

常用

3.1 length() nth()

length($list),返回 $list的长度值;

nth($list, $n),返回 $list中指定的某个 $n,且 $n必须是大于0的整数;

Javascript的Array()的索引是从0开始的,厄...有点扯远了,用过 css3的 :nth-child(n)都应该知道啦,索引下标也是从1开始的,So.....

//SCSS:$list: google, baidu, sogo;@for $i from 1 through length($list){ //取$list的length并循环输出;  .icon-#{nth($list, $i)}{ //$list中的某个索引值;    content: '#{nth($list, $i)}'  }}//编译为:.icon-google { content: "google"; }.icon-baidu { content: "baidu"; }.icon-sogo { content: "sogo"; }
로그인 후 복사

3.2 join()

join($list1, $list2, [$separator])将两个列表给连接在起来,组成一个列表;

$separator默认值是 auto,另外还有 comma和 space两个值,其中 comma值指定列表中的列表项值之间使用逗号 ,隔开, space值指定列表中的列表项值之间使用 空 格分隔。

join((blue, red), (#abc, #def), space) => blue red #abc #def //spacejoin(10px, 20px, comma) => 10px, 20px //comma
로그인 후 복사

Examples:

//SCSS:$list1: google, baidu, sogo;$list2: facebook, instagram, twitter;$list3: join($list1, $list2); //讲真啦,很少用到join(),反正我是很少用到;@for $i from 1 through length($list3){  .icon-#{nth($list3, $i)}{    content: '#{nth($list3, $i)}'  }}//编译为:.icon-google { content: "google"; }.icon-baidu { content: "baidu"; }.icon-sogo { content: "sogo"; }.icon-facebook { content: "facebook"; }.icon-instagram { content: "instagram"; }.icon-twitter { content: "twitter"; }
로그인 후 복사

3.3 index()

index($list, $value),返回 $list中的 $value所在的位置。

index(1px solid red, solid) => 2index(1px solid red, dashed) => nullindex((width: 10px, height: 20px), (height 20px)) => 2
로그인 후 복사

3.4 list-separator()

list-separator($list),返回 $list中的分隔符。

list-separator(1px 2px 3px) => spacelist-separator(1px, 2px, 3px) => commalist-separator('foo') => space
로그인 후 복사

4. Introspection 函数

4.1 type-of()

type_of($value)返回 $value的类型。

type-of(abc)   => stringtype-of("abc") => stringtype-of(true)   => booltype-of(#fff)   => colortype-of(green)   => color
로그인 후 복사

4.2 unit()

unit($number)返回 $number所使用的单位。

unit(100) => ""unit(100px) => "px"unit(3em) => "em"unit(10px * 5em) => "em*px"unit(10px * 5em / 30cm / 1rem) => "em*px/cm*rem"
로그인 후 복사

4.3 unitless()

unitless($number)返回 $number是否带有单位;如果不带单位返回值为 true,带单位返回值为 false。

unitless(100) => trueunitless(100px) => false
로그인 후 복사

5. Miscellaneous 函数

Miscellaneous函数称为三元条件函数,主要因为他和 JavaScript中的三元判断非常的相似。他有两个值,当条件成立返回一种值,当条件不成立时返回另一种值

if($condition, $if-true, $if-false)
로그인 후 복사

当 $condition条件为真,则返回 $if-true值,否则返回 $if-false值。

if(true, 1px, 2px) => 1pxif(false, 1px, 2px) => 2px
로그인 후 복사

6. 颜色函数

暂时还没用到过。

6.1 RGB函数()

rgb($red, $green, $blue),根据 $red、 $green、 $blue三个值创建一个颜色;

rgba($red, $green, $blue, $alpha),将一个颜色根据透明度转换成 rgba 颜色。

rgba(#102030, 0.5) => rgba(16, 32, 48, 0.5)rgba(blue, 0.2)    => rgba(0, 0, 255, 0.2)
로그인 후 복사

7. Reference API

Sass::Script::Functions — Sass Documentation

结语:既然你都看到这里了,我就说说吧,这些个函数其实也就在自己写插件的时候有用,其他时候可能会有些大材小用。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

HTML은 초보자를 위해 쉽게 배우나요? HTML은 초보자를 위해 쉽게 배우나요? Apr 07, 2025 am 12:11 AM

HTML은 간단하고 배우기 쉽고 결과를 빠르게 볼 수 있기 때문에 초보자에게 적합합니다. 1) HTML의 학습 곡선은 매끄럽고 시작하기 쉽습니다. 2) 기본 태그를 마스터하여 웹 페이지를 만들기 시작하십시오. 3) 유연성이 높고 CSS 및 JavaScript와 함께 사용할 수 있습니다. 4) 풍부한 학습 리소스와 현대 도구는 학습 과정을 지원합니다.

& lt; Progress & Gt의 목적은 무엇입니까? 요소? & lt; Progress & Gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:34 PM

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

HTML, CSS 및 JavaScript의 역할 : 핵심 책임 HTML, CSS 및 JavaScript의 역할 : 핵심 책임 Apr 08, 2025 pm 07:05 PM

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

& lt; datalist & gt의 목적은 무엇입니까? 요소? & lt; datalist & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:33 PM

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

& lt; meter & gt의 목적은 무엇입니까? 요소? & lt; meter & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:35 PM

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

HTML의 시작 태그의 예는 무엇입니까? HTML의 시작 태그의 예는 무엇입니까? Apr 06, 2025 am 12:04 AM

anexampleStartingtaginhtmlis, whithbeginsaparagraph.startingtagsareessentialinhtmlastheyinitiate rements, definetheirtypes, andarecrucialforstructurituringwebpages 및 smanstlingthedom.

HTML, CSS 및 JavaScript 이해 : 초보자 안내서 HTML, CSS 및 JavaScript 이해 : 초보자 안내서 Apr 12, 2025 am 12:02 AM

WebDevelopmentReliesonHtml, CSS 및 JavaScript : 1) HtmlStructuresContent, 2) CSSSTYLESIT, 및 3) JAVASCRIPTADDSINGINTERACTIVITY, BASISOFMODERNWEBEXPERIENCES를 형성합니다.

Gitee Pages 정적 웹 사이트 배포 실패 : 단일 파일 문제를 해결하고 해결하는 방법 404 오류? Gitee Pages 정적 웹 사이트 배포 실패 : 단일 파일 문제를 해결하고 해결하는 방법 404 오류? Apr 04, 2025 pm 11:54 PM

GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...

See all articles