일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- JavaScript
- 컴퓨터 네트워크
- websocket
- react firebase
- codesandbox
- 프로그래머스 완전탐색
- design pattern
- 코딩테스트 고득점 Kit
- vanillaJS
- 프로그래밍 언어론
- react
- 자바 공부
- 데이터모델링과마이닝
- useState
- React JS
- 프로그래머스
- NextJS
- Java
- 리액트 훅
- 프로그래머스 자바
- 자바
- 백준
- 리액트
- useEffect
- 코틀린
- 자바스크립트
- react hook
- 디자인 패턴
- 장고
- 코딩테스트 고득점 Kit 완전탐색
Archives
- Today
- Total
기록하는 개발자
scss에서의 media query 적용하기 본문
728x90
졸업 프로젝트에서 반응형 웹사이트를 만들 때 Css에 media query를 적용했던 적이 있다.
새로운 프로젝트를 시작하면서부터는 scss를 사용하고 있는데, 이 scss 에서 media query를 적용하는 방법을 알아보자.
_variables.scss
$breakpoint-mobile: 335px;
$breakpoint-tablet: 758px;
$breakpoint-desktop: 1024px;
Scss 에서는 css와 달리 변수 사용이 가능하다.
“_variables.scss” 파일을 만들고 변수로 breakpoint를 선언해준다.
변수를 저장할 파일이기 때문에 언더바 “_” 로 파일명을 시작한다.(언더바로 시작하는 파일은 파일 단위로 분리되어 컴파일 되지 않는다.)
mixin.scss
@import "./_variables.scss";
@mixin mobile {
@media (min-width: #{$breakpoint-mobile})
and (max-width: #{$breakpoint-tablet - 1px}) {
@content;
}
}
@mixin tablet {
@media (min-width: #{$breakpoint-tablet})
and (max-width: #{$breakpoint-desktop - 1px}) {
@content;
}
}
@mixin desktop {
@media (min-width: #{$breakpoint-desktop}) {
@content;
}
}
Scss에서는 Mixin을 통해 Css를 재사용이 가능하도록 모듈화 할 수 있다.
위처럼 Mixin으로 media query를 생성하고 나면 아래와 같이 scss 파일에 적용한다.
@include를 통해 mixin을 불러와 사용한다.
@import "../../../static/style/mixin";
@include desktop {
div {
width: 70%;
min-width: 890px;
margin: 0 auto;
}
}
@include tablet {
div {
width: 65%;
min-width: 650px;
}
}
@include mobile {
div {
width: 60%;
min-width: 500px;
}
}
728x90
'Web' 카테고리의 다른 글
브라우저의 렌더링 과정과 Reflow, Repaint (0) | 2023.12.19 |
---|---|
쿠키(cookie), 세션(session), 캐시(cache), 웹 저장소(localstorage, sessionstorage) (0) | 2023.12.11 |
[SCSS] SCSS의 rgba에 Opacity(투명도)적용하기 (0) | 2022.10.17 |
SSG(Static Site Generator)란? (0) | 2022.09.29 |
SSR과 CSR, MPA와 SPA (0) | 2022.09.29 |