본문 바로가기

자기계발

SCSS 개념정리

SCSS 중첩 사용 시 발생하는 장단점

  • 장점:
    • HTML 구조와 유사하게 작성할 수 있어 가독성이 높아짐.
    • 코드가 간결해지고 유지보수가 용이해짐.
  • 단점:
    • 중첩이 깊어지면 코드가 복잡해지고 유지보수가 어려워질 수 있음.
    • 높은 중첩은 CSS 성능에 부정적인 영향을 줄 수 있음.
$font-big: 18px;
$font-mid: 13px;
$font-sml: 12px;

@mixin practice($font) {
  display: flex;
  font-size: $font;
}

.header-container {
  @include flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 20px;
  background-color: black;

  ul {
    @include flex;
    justify-content: center;
    align-items: center;
    gap: 20px;

    li {
      list-style: none;
      font-weight: 400;
      @include practice($font-mid);
    }
  }
}

section {
  @include flex;
  flex-wrap: wrap;
  gap: 20px;
  padding: 20px 40px;
}

.content-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;

  img {
    width: 300px;
    border-radius: 10px;
    margin-bottom: 3px;
  }

  span {
    font-size: 12px;
    color: #d7fa00;
    border: 1px solid #d7fa00;
    padding: 4px 5px;
    border-radius: 3px;
  }

  div {
    @include practice($font-big);
    font-weight: 600;
  }

  p {
    font-size: $font-sml;
    color: rgb(160, 160, 160);
  }
}

 

 

반복되는 스타일 블록을 믹스인으로 분리하여 코드 재사용성 및 유지보수성 향상 예시

CSS 코드에서 반복되는 스타일 블록을 믹스인으로 분리하여 SCSS로 변환하면 코드의 재사용성과 유지보수성이 크게 향상됩니다.

.button-primary {
  padding: 10px 20px;
  border-radius: 5px;
  background-color: #3498db;
  color: #fff;
}

.button-secondary {
  padding: 10px 20px;
  border-radius: 5px;
  background-color: #2ecc71;
  color: #fff;
}
@mixin button-style($bg-color) {
  padding: 10px 20px;
  border-radius: 5px;
  background-color: $bg-color;
  color: #fff;
}

.button-primary {
  @include button-style(#3498db);
}

.button-secondary {
  @include button-style(#2ecc71);
}

 

이렇게 작성하면 반복되는 코드가 줄어들고, 스타일을 변경할 때도 손쉽게 수정할 수 있습니다