상용구 프로젝트에서 NPM이 설정된 Sass 참조 시트

10384 단어 webdevnpmcssjavascript

사스



오늘 저는 Sass, BEM 및 7-1 아키텍처의 사용에 대한 모든 참조가 포함된 이 참조 시트를 공유하고 있습니다.

여기에는 모든 설정이 이미 완료된 Sass 프로젝트에서 시작할 수 있는 상용구 설정도 포함되어 있습니다! (이 시트의 끝 부분 참조)

Markdown is available at my Github




목차


  • Sass
  • BEM
  • 7-1 Folder Architecture
  • NPM Setup Boilerplate


  • 재사용 가능한 값에 대한 변수: Usage$pink: #ff1493;
  • 더 적은 코드로 선택자를 서로 내부에 중첩하여 중첩: Usage

  •   //scss
      .parent{
        .child{}
      }
    
      // becomes in css
      .parent .child{}
    


  • CSS의 수학 연산 연산자: Usagefont-size: (16px / 24px) // Uses parentheses, does division
  • 다른 파일에 코드를 작성하고 병합하기 위한 부분 및 가져오기(@rules): Usage@import "sample";
  • 재사용 가능한 코드 조각을 작성하기 위한 혼합: Usage

  •   @mixin overlay() {
        bottom: 0;
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
      }
    
      .modal-background{
        @include overlay();
        background: black;
        opacity: 0.9;
      }
    


  • 혼합 및 자리 표시자: comparison
  • 함수는 믹스인과 유사하지만 값을 생성합니다. Usage

  •   @function remy($pxsize) {
          @return ($pxsize/16)+rem;
      }
    
      h1 { font-size: remy(32);}
    



  • 다른 선택기에서 동일한 선언을 상속하도록 확장: Usage

  •   // scss
      .small-uppercase{
        color: lightslategrey;
        font-size: 10px;
      }
    
      .modal-background{
        @extend .small-uppercase;
      }
    
      // generated css
      .small-uppercase,
      .modal-background{
        color: lightslategrey;
        font-size: 10px;
      }
    



  • 조건부 및 루프(, @content, @if)를 사용하여 복잡한 코드를 작성하는 제어 지시문: Usage

  •   @mixin test($condition) {
          $color: if($condition, blue, red);
          color:$color
      }
    




  • BEM — Block Element Modifier는 프런트 엔드 개발에서 재사용 가능한 구성 요소 및 코드 공유를 만드는 데 도움이 되는 방법론입니다
  • .
  • 예:

  •   <form class="form form--theme-xmas">
        <input
          class="form__submit form__submit--disabled"
          type="submit" />
      </form>
    



      .form { } //block
      .form--theme-xmas { } //block--modifier
      .form__submit { } //block__element
      .form__submit--disabled { } //block__element--modifier
    


  • 예제별 BEM : Reference
  • ABEM - BEM을 사용하는 더 나은 접근 방식, Explanation

  •   /* classic + atomic prefix */
      .o-subscribe-form__field-item {}
    
      /* camelCase + atomic prefix */
      .o-subscribeForm__fieldItem {}
    



    7-1 폴더 구조



  • 실제 폴더 구조: Reference
  • 7–1 패턴은 일반적인 Sass 아키텍처이며 Sass Guidelines Project에서 권장합니다. 기본 구조는 다음과 같습니다.

  •   sass/
      |
      |– abstracts/             # HELPER FILES
      |   |– _variables.scss    # Sass Variables
      |   |– _mixins.scss       # Sass Mixins
      |
      |– vendors/               # THIRD-PARTY FILES
      |   |– _bootstrap.scss    # Bootstrap
      |
      |– base/                  # BOILERPLATE FILES
      |   |– _reset.scss        # Reset/normalize
      |   |– _typography.scss   # Typography rules
      |
      |– layout/                # STRUCTURE FILES
      |   |– _navigation.scss   # Navigation
      |   |– _grid.scss         # Grid system
      |   |– _header.scss       # Header
      |   |– _footer.scss       # Footer
      |   |– _sidebar.scss      # Sidebar
      |   |– _forms.scss        # Forms
      |
      |– components/            # SPECIFIC COMPONENTS FILES
      |   |– _buttons.scss      # Buttons
      |   |– _carousel.scss     # Carousel
      |   |– _cover.scss        # Cover
      |   |– _dropdown.scss     # Dropdown
      |
      |– pages/                 # PAGE SPECIFIC FILES
      |   |– _home.scss         # Home specific styles
      |   |– _contact.scss      # Contact specific styles
      |
      |– themes/                # MULTIPLE THEME FILES
      |   |– _theme.scss        # Default theme
      |   |– _admin.scss        # Admin theme
      |
       – main.scss              # Main Sass input file
    



    NPM 설정 상용구


  • sass 개발을 위한 완전한 NPM 설정을 만들었습니다. 간단히 복제하기만 하면 프로젝트의 상용구로 사용할 수 있습니다.
  • 다음을 포함합니다.

  • Font-Awesome 및 Animate CSS가 내장되어 있습니다!

  • 7-1 폴더 아키텍처
  • 전역 재설정

  • Gitignore 포함

  • 미디어 쿼리 관리자
  • JavaScript Babel 컴파일

  • 개발 스크립트: 컴파일, 제공 및 감시

  • 프로덕션 스크립트: 컴파일, 접두사 및 압축.


  • Github Repo에서 이 상용구를 찾을 수 있습니다.




  • 도움이 되었기를 바랍니다. 감사합니다!😊

    좋은 웹페이지 즐겨찾기