Sass를 사용한 패딩 및 여백 클래스
sass와 루핑 가능성을 활용하여 패딩 및 여백 클래스를 빠르게 만드는 방법.
때로는 왼쪽, 오른쪽, 위쪽 및 아래쪽에 대한 여백 및 패딩 클래스가 필요하며 직접 만들 수도 있지만 지루하고 시간이 오래 걸립니다. 그러나 SASS를 사용하여 이 CSS를 빠르게 만들 수 있습니다. SASS는 CSS Pre-Processor로 유효한 CSS는 아니지만 생성합니다. SASS는 문자열 함수, 변수 및 루프와 같은 다른 유용한 기능입니다.
0ems에서 7ems까지 모든 방향에서 여백 및 패딩 클래스를 만드는 간단한 예제를 살펴보겠습니다.
두 개의 목록을 정의하여 시작하겠습니다. 하나는 em 범위를 보유하고 다른 하나는 방향 문자열을 보유합니다.
$ems: 0, 1, 2, 3, 4, 5, 6, 7
$directions: "", "-bottom", "-top", "-left", "-right"
SASS 목록에서 변수는 이러한 방식으로 정의됩니다.
$variableName: itemOne, itemTwo, ...
. a로 종료할 필요 없음;
다음으로 중첩된 방식으로 두 목록을 반복합니다. 따라서 모든 방향
em
에 대해 모든 방향으로 이동합니다.@each $em in $ems
@each $dir in $directions
그런 다음
-top
를 의미하는 t
방향에서 두 번째 문자를 얻습니다. 이렇게 하면 클래스 이름에 전체 단어가 포함되지 않습니다. 슬라이스할 문자열, 시작점 및 끝점을 사용하는 str-slice()
함수를 사용하여 이 작업을 수행할 수 있습니다. SASS 목록 및 문자열은 대부분의 프로그래밍 언어처럼 1
가 아닌 0
에서 시작하므로 이 점을 염두에 두십시오. $dir-in-rule: str-slice($dir, 2, 2)
이제 클래스 만들기부터 시작하겠습니다. 선택자, 규칙 및 값에 변수를 삽입할 수 있기 때문에 SASS에 대한 강력한 부분이 여기에 있습니다. 그래서 단축된
$dir-in-rule
를 .m
에 더하고 그 뒤에 em
금액을 더합니다. 따라서 이것은 this라고 하는 클래스가 됩니다. mt-1
또는 mb-5
는 1em의 margin-top과 5em의 margin-bottom을 의미해야 합니다. 방향""
도 정의했기 때문에 모든 방향의 여백을 의미하는 m-3
와 같은 결과도 얻게 됩니다.선택기와 규칙에 변수를 삽입하려면 다음과 같이 해야 합니다.
#{$variableName}
. 값은 단순히 $
기호로 변수 이름을 적습니다. em
와 같은 일반 문자열을 +
와 연결할 수도 있습니다.유사한 방식으로 수행되는 패딩에 대해서도 이 작업을 수행합니다.
.m#{$dir-in-rule}-#{$em}
margin#{$dir}: $em + em
.p#{$dir-in-rule}-#{$em}
padding#{$dir}: $em + em
이제 이 코드는 자체적으로 작동하지 않습니다. 먼저 유효한 CSS로 변환해야 합니다. 이 작업은 트랜스필링 또는 변환을 통해 수행됩니다. This 변환기가 정말 좋습니다. 거기에 코드를 입력하면 다음과 같은 결과가 나와야 합니다.
.m-0 {
margin: 0em; }
.p-0 {
padding: 0em; }
.mb-0 {
margin-bottom: 0em; }
.pb-0 {
padding-bottom: 0em; }
.mt-0 {
margin-top: 0em; }
... /* There should be 80 Classes like this */
결론
훌륭한! SASS 코드를 사용하여 여백 및 패딩 클래스를 성공적으로 만들었습니다! 이 지식으로 어떻게 더 많은 것을 만들 수 있는지 알아보세요!
전체 코드
$ems: 0, 1, 2, 3, 4, 5, 6, 7
$directions: "", "-bottom", "-top", "-left", "-right"
/* Paddings and Margins */
@each $em in $ems
@each $dir in $directions
$dir-in-rule: str-slice($dir, 2, 2)
.m#{$dir-in-rule}-#{$em}
margin#{$dir}: $em + em
.p#{$dir-in-rule}-#{$em}
padding#{$dir}: $em + em
Reference
이 문제에 관하여(Sass를 사용한 패딩 및 여백 클래스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/maxim_maeder/padding-and-margin-classes-with-sass-2lj4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)