5일차: 과소평가된 SASS
8472 단어 100daysofcodecssbeginnerswebdev
SASS와 は何ですか❓
SASS(또는 Syntactically Awesome Style Sheet)는 기본적으로 우리의 숙적인 CSS의 확장입니다. 그것은 중첩(드디어!), 논리, 심지어 이상한
for
, each
및 while
루프를 가지고 있습니다! 그것이 무엇을 할 수 있는지 보자...변수
글쎄, 나는 이것에 대해 많이 말하지 않을 것입니다. CSS에는 이미 변수 시스템이 있습니다.
$main-color: white;
중첩 🐣
CSS에서 부모 요소의 자식을 선택하는 방법은 적어도 나에게는 다소 직관적이지 않습니다.
그래서 SASS가 중첩을 사용하여 실제로 요소의 중첩을 논리적인 방식으로 표시한다는 사실을 알게 되어 기쁩니다.
#container {
background-color: black;
p {
color: yellow;
}
}
믹스인 🙆♀️
@mixin
는 많은 스타일을 단일 라이너에 담을 수 있는 기능입니다. 브라우저 접두사를 다루는 데 특히 유용합니다.@mixin rad-bod($val) {
-webkit-border-radius: $val;
-moz-border-radius: $val;
-ms-border-radius: $val;
border-radius: $val;
}
예, 변수도 지원합니다.
논리적 추론
if
문은 SASS에 존재하며 @mixin
와 결합하여 자세한 구문을 생성합니다.@mixin border($thicc) {
@if $thicc == thin {
border: 1px solid black
}
@else if $thicc == thick {
border: 3px solid black
}
@else {
border: none
}
}
루프
HTML 파일에서 해당 ID를 타겟팅하는 데 지치셨습니까?
for
루프를 사용하여 숫자 ID를 반복할 수 있습니다.@for $index from 1 to 10 {
.text-#{$index} {
background-color: rgba(0, 255, 255, 0.1 * $index);
}
}
#{$index}
표기법에 유의하십시오. CSS로 평가되는 문자열로 사용할 $index value
를 캐스팅하므로 .text-1
, .text-2
등이 될 수 있습니다. 또한 to
키워드는 마지막 숫자를 제외합니다. 포함하려면 through
를 사용하십시오.다음으로
@each
루프:@each $box in column, row {
#{$box}-flexbox {
flex-direction: $box;
}
}
지도와 함께 사용할 수도 있습니다.
$colors: (color1: blue, color2: red, color3: green);
@each $key, $color in $colors {
.#{$color}-text {color: $color;}
}
물론
@while
루프는 다음과 같습니다.$x: 1;
@while $x < 10 {
.row-#{$x} { height: 100%/12 * $x;}
$x: $x + 1;
}
부분 가져오기
부분은 다른 파일로 가져올 수 있는 SASS 파일입니다(Python의 모듈을 생각해 보십시오). 부분 파일에는 접두사로 밑줄을 붙여야 합니다.
가져오려면:
@import 'text_part'
SASS 컴파일러가 이를 이해하므로 밑줄을 다시 작성할 필요가 없습니다.
스타일을 다른 요소로 확장하세요!
요소 간에 반복 가능한 스타일이 있는 경우 다른 요소에 대한 스타일을 '차용'할 수 있습니다.
p {
color: white;
font-family: Robota;
}
h2 {
@extend p;
background-color: cyan;
}
후기
좋아요, 저는 FreeCodeCamp가 단 9개의 레슨으로 얼마나 많은 지식을 담을 수 있는지 분명히 과소평가했습니다. TBH 이번 포스팅이 가장 긴 것 같아요. 그래서 좀 쉬다가 드디어 리액트☄를 만나러 갑니다.
참고로 저는 이전에 SASS를 사용해 본 적이 있지만 중첩 및 혼합 기능만 사용하기 때문에 기본 사항을 이해하는 데 눈을 뜨게 할 것입니다.
그건 그렇고, 저는 SCSS 파일을 CSS로 컴파일하기 위해 Linux(또는 Win10의 WSL)에서
sassc
컴파일러를 사용합니다. 또한 직접 컴파일하고 Github에 게시하는 경우 .gitignore
에 두는 것을 잊지 마십시오.좋아, 내일 보자! 👋
Github에서 저를 팔로우하세요!
또한 !
Reference
이 문제에 관하여(5일차: 과소평가된 SASS), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kemystra/day-5-underestimated-sass-5dlj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)