CSS 외장: Sass의 강박 함수(function)
Sass
자체 함수들을 가지고 놀자...문자열 함수(String Functions
, 디지털 함수(Number Functions
, 목록 함수(List Functions
, 색 함수(Color Functions
, Introspection
함수(Introspection Functions
, 삼원 함수Miscellaneous Function
, 삼원 함수quote($string)
가 있다.1. 문자열 함수
1.1 quote()
$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)
앞뒤 따옴표를 삭제합니다.//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()
$string
되돌아오는 str-length($string)
의 길이.//SCSS:
p:before { content: str-length('hello sass!'); }
// :
p:before { content: 11; }
1.4 to-upper-case()
$string
소문자를 대문자로 바꾸다.//SCSS:
p:before { content: to-upper-case('hello sass!'); }
// :
p:before { content: "HELLO SASS!"; }
1.5 to-lower-case()
to-upper-case($string)
대문자를 소문자로 바꾸다.//SCSS:
p:before { content: to-lower-case('HELLO SASS!'); }
// :
p:before { content: "hello sass!"; }
2. 숫자 함수
2.1 percentage()
$string
단위가 없는 수치를 백분율로 바꿉니다.//SCSS:
.box{ width: percentage(.5)}
.box2{ width: percentage(.1rem / .3rem)}
테스트를 통해 두 개의 같은 단위는 제법'/'이외의 +-%로 모두 오류를 보고할 수 있고 제법'/'도 두 개의 같은 유형의 단위 사이에서만 연산할 수 있다.*
// :
.box { width: 50%; }
.box2 { width: 33.33333%; }
2.2 round()
to-lower-case($string)
$string
를 정수로 반올림하고 percentage($number)
가대단위로 한다.//SCSS:
.xs-row{ width: round(33.33333333333333px)}
// :
.xs-row { width: 33px; }
2.3 ceil()
round($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()
$number
와 반대로 ceil($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),
ceil()
의 절대값을 되돌려줍니다.//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...),
floor($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()
$number
, 되돌아오는 $number...
의 길이값;$number...
, 반환length($list)
에서 지정한 $list
, 그리고 nth($list, $n)
는 0보다 큰 정수여야 한다.Javascript의 Array () 색인은 0에서 시작합니다.좀 멀어요. 써본 거
$list
$n
도 알 거예요. 색인 아래 표시도 1부터 시작해요. 소......//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()
$n
두 개의 목록을 연결하여 하나의 목록을 구성한다.css3
의 기본값은 :nth-child(n)
이고 join($list1, $list2, [$separator])
와 $separator
두 개의 값도 있다. 그 중에서 auto
값은 목록의 항목 값을 지정하는 데 쉼표comma
로 구분하고 space
값은 목록의 항목 값을 지정하는 데 comma
로 구분한다.join((blue, red), (#abc, #def), space) => blue red #abc #def //space
join(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()
,
, space
중의
가 있는 위치로 되돌아간다.index(1px solid red, solid) => 2
index(1px solid red, dashed) => null
index((width: 10px, height: 20px), (height 20px)) => 2
3.4 list-separator()
index($list, $value)
, 반환$list
의 구분자.list-separator(1px 2px 3px) => space
list-separator(1px, 2px, 3px) => comma
list-separator('foo') => space
4. Introspection 함수
4.1 type-of()
$value
반환list-separator($list)
의 유형.type-of(abc) => string
type-of("abc") => string
type-of(true) => bool
type-of(#fff) => color
type-of(green) => color
4.2 unit()
$list
가 사용한 단위를 되돌려줍니다.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()
type_of($value)
되돌아오기$value
에 단위가 있는지 여부;단위 반환 값이 unit($number)
이지 않으면 단위 반환 값이 $number
이다.unitless(100) => true
unitless(100px) => false
5. Miscellaneous 함수
unitless($number)
함수를 삼원 조건 함수라고 하는데 주로 $number
중의 삼원 판단과 매우 비슷하기 때문이다.그는 조건이 성립되면 한 값을 되돌려주고, 조건이 성립되지 않으면 다른 값을 되돌려준다if($condition, $if-true, $if-false)
true
조건이 진실이면 false
값을 되돌려주고 그렇지 않으면 Miscellaneous
값을 되돌려줍니다.if(true, 1px, 2px) => 1px
if(false, 1px, 2px) => 2px
6. 색상 함수
당분간은 안 써봤어요.
6.1 RGB 함수()
JavaScript
, $condition
, $if-true
, $if-false
세 개의 값에 따라 색을 만듭니다.rgb($red, $green, $blue)
투명도에 따라 한 색을 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
결어: 네가 여기까지 봤으니 내가 말해 볼게. 이 함수들은 사실 자신이 플러그인을 쓸 때 쓸모가 있고, 다른 때에는 대재소용이 있을 수도 있어.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
v-bind를 사용하여 CSS에 대한 Vue3 상태애플리케이션을 더 동적으로 만들기 위해 Vue는 동적 상태를 템플릿 내부의 마크업에 연결할 수 있도록 합니다. 예를 들어 특정 기준이 충족되는 경우에만 요소에 클래스를 적용할 수 있습니다. 그러나 구성 요소 상태가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.