[SCSS] - 13. 중첩 @mixin

조가든·2022년 10월 12일
0

scss

목록 보기
13/13
post-thumbnail

중첩 @mixin

👊 예제

<section>
        <h1>Large Headline Text</h1>
        <h2>Medium Headline Text</h2>
        <h3>Small Headline Text</h3>
        <p>
            Lorem ipsum dolor sit amet consectetur, adipisicing elit. Illum impedit animi molestias fuga inventore ipsum id quaerat expedita. Ex excepturi iure in eaque, tempora quia quos pariatur doloribus minima nam,
        </p>
    </section>
  • 나는 제목부분과 본문부분의 글씨체를 다르게 하고싶다.
  • 나는 제목태그들은 공통적인 속성을 주고싶다.
  • 나는 전체 body에 공통적인 속성을 주고싶다.
$font-base : 15px;
$font-family-base : "Raleway";
$font-family-headline : 'Montserrat';
  • 기본 디폴트 폰트 사이즈와 font-family를 변수로 정의해준다.

전체 body에 공통 속성

@mixin font-default {
    font : {
        family: $font-family-base;
        size: $font-base;
        weight: 300;
    }

    line-height: 1.6em;
}

body {
    @include font-default();
}
  • @mixin을 활용해서 기본 디폴트 속성을 정의한다.
  • 디폴트 폰트 패밀리, 사이즈, 굵기를 설정하고 body에 @include함

제목 태그들에 공통 속성

@mixin font-headline {
    font: {
        family: $font-family-headline;
        weight: 600
    }
}

@mixin large-headline {
    @include font-headline();
    font-size: $font-base * 3;
    color: crimson;
}

@mixin medium-headline {
    @include font-headline();
    font-size: $font-base * 2;
    color: royalblue;
}

@mixin small-headline {
    @include font-headline();
    font-size: $font-base * 1.5;
    color: yellowgreen;
}
  • font-headline라는 속성은 헤드라인에 모두 적용하고 large-headline, medium-headline, small-headline에는 font-headline을 include하고 추가로 폰트 컬러와 사이즈를 정의해준다.
  • 이때 사용한것이 중첩 @mixin이다.
h1 {
    @include large-headline();
}

h2 {
    @include medium-headline();
}

h3 {
    @include small-headline();
}

🙆 RESULT

profile
jo_garden

0개의 댓글