ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • sass에 대해
    React 2022. 3. 17. 15:56

    일단 node-sass를 설치하고 세팅해보자. 터미널에

    npm install node-sass
    //혹은 yarn add node-sass

    브라우저는 sass문법을 몰라서 sass로 작성한 파일을 다시 css로 컴파일을 해야한다. 컴파일하는 라이브러리가 node-sass가 된다. 그 다음, Detail.scss라는 파일을 만들고 Detail.js에 import만 잘하면 연결 성공이다.

    import './Detail.scss';

     

    scss를 쓰는 이유는 다음과 같다.

    $메인칼라 : #ff0000; //$변수명 : 넣을값
    
    .red {
        color : $메인칼라;
    }

     

    이렇게 변수 문법을 사용가능하고,

     

    @import 파일경로를 사용할 수 있다. 예를 들면, reset.scss라는 리셋파일을 만들어놓고 제작중인 scss파일에

    @import './reset.scss'

    이렇게 적어주면 된다.

     

    그리고 nesting문법도 있다.

    div.container {
    	 
        	h4 {
            
            }
            p {
            
            }
        
    }

    이런 식으로, 안에 셀렉터를 집어넣을 수 있다.

     

    그리고, extend문법이 있다.

    색상만 다른 UI를 여러개 만들고 싶을때 css를 여러개 만들지 말고 extend를 사용하면 간편하다.

    .my-alert {
        background-color: #eeeeee;
        padding: 20px;
        border-radius: 5px;
        max-width: 500px;
        width: 100%;
        margin: auto;
        p {
            margin-bottom: 0px;
        }
    }
    
    .my-alert2 {
        @extend .my-alert;
        background-color: #ffe591;
    }

    이런 식으로, my-alert2에 .my-alert를 다 가져오고 background색깔만 바꿔주면 된다.

     

    마지막으로, @mixin, @include가 있다. 함수문법이며 긴 코드를 짧게 축약할 수 있다.

    
    @mixin 함수() {
    	background-color: #eeeeee;
        	padding: 20px;
        	border-radius: 5px;
        	max-width: 500px;
        	width: 100%;
        	margin: auto;
        	p {
            	margin-bottom: 0px;
        	}
    }
    
    .my-alert {
       @include 함수(); 
    }

    이렇게 mixin으로 선언하고 include로 사용할 수 있다. 그리고 보통 함수의 위치가 위에 있어야한다.

    'React' 카테고리의 다른 글

    리액트에서의 ajax  (0) 2022.03.21
    Lifecycle Hook과 useEffect  (0) 2022.03.18
    styled-components  (0) 2022.03.17
    여러 페이지 만들기 router활용  (0) 2022.03.16
    Router의 Link, Switch, history  (0) 2022.03.15

    댓글

Designed by Tistory.