일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 객체의 밸류값만 찾기
- indexOf()
- 프론트엔드 스쿨
- 레디스 확인
- 우분투 시간 변경
- 객체를 배열로
- search()
- @Moditying @Query
- 가상컴퓨터마법사
- Robo3T 폰트변경
- 배열을 객체로
- ubuntu타임존
- findIndex()
- 문자열 인터폴레이션
- ...점점점문법
- Robo3T 폰트 키우기
- 깃 토큰 만료
- 시퀄 문법
- ${변수}
- Robo3T 글씨키우기
- sql 문자열 패턴 검색
- Robo3T 글씨체 변경
- 리엑트블로거
- 코딩 어?
- 스프링 데이타 JPA
- js 문자열을 문자배열로
- lastIndexOf()
- sql like연산자
- 5.3.8 Modifying Queries
- 객체의키값만 찾기
- Today
- Total
코딩기록
리액트)1주차 학습 - SASS(SCSS 싸스) 본문
SASS(SCSS 싸스)란?
( Syntactically Awesome StyleSheets )
scss를 css로 변환하는 방법 2가지
1. Live Sass 확장자
vscode에서 scss를 쓰기전 Extensions 에서 [ Live Sass ] 확장자를 먼저 설치한다.
SCSS 파일을 자동으로 CSS 파일로 변환시켜준다.
2. 명령어
1). https://sass-lang.com/install/ 참고.
&부
문법 6가지
한글 주석처리를 위해 @charset "UTF-8"; 을 넣어야 한다
1. 변수 $
2. 중첩 (Nesting 네스팅문법)
3. & (부모 엘리먼트 참조)
4. extend 와 %
5. @mixin - 인자전달
6. @use - 파일 끌어 쓰기
7. 연산자 --추후 추가할 예정
1. 변수 $
변수 : 변하는 수(숫자, 문자 등 모든 데이터 타입)
변수 선언 : $ + "변수명" : "저장할 내용";
$myColor: lightblue;
변수 사용 : color: $myColor;
2. 중첩 (Nesting 네스팅문법)
일반 css 에서 자손 스타일링할 땐 따로따로 스타일링을 한다.
body {
padding: 0 auto;
}
body .nav {
border: 1px solid black;
}
body .nav div {
margin: 10px;
}
scss에서는 중첩을 활용해 아래처럼 코드양을 줄일 수 있다.
body {
padding: 0 auto;
.nav {
border: 1px solid black;
div {
margin: 10px;
}
}
}
3. & (부모 엘리먼트 참조)
:hover 같은 기능이나 .이름:nth-of-type(1) 같은 기능 쓸때
body {
.box1 {
border: 1px solid black;
&.btn {
background-color: blue;
}
}
.box2 {
background-color: orange;
&:hover {
background-color: darkorange;
}
&:nth-of-type(1) {
color: gray;
}
}
}
body .box1 {
border: 1px solid black;
}
body .box1.btn {
background-color: blue;
}
body .box2 {
background-color: orange;
}
body .box2:hover {
background-color: darkorange;
}
body .box2:nth-of-type(1) {
color: gray;
}
이름 반복적으로 쓸때도 상위 선택자로 치환되는 원리를 이용해 &를 아래 처럼 사용할 수 있다.
--------- scss --------
.nav {
&Padding-B { padding-bottom: 10px; }
&Padding-L { padding-left: 20px; }
&Padding-R { padding-right: 30px; }
}
-------- css ---------
.navPadding-B {
padding-bottom: 10px;
}
.navPadding-L {
padding-left: 20px;
}
.navPadding-R {
padding-right: 30px;
}
4. extend 와 %
extend : css 스타일 확장
% : scss에서만 쓰이는 임스 클래스
↓ ↓ ↓ 사용방법 ↓ ↓ ↓
1). 공통으로 쓰일 코드를 작성후 이름앞에 %를 붙인다.
2). @extend %이름;
"추가할 내용"
5. @mixin - 인자전달
공통으로 쓰일 코드를 작성후 변경되는 값만 인자로 전달한다.
1). @mixin 이름($인자1, $인자2) 를 붙이고 공통으로 쓰일 코드를 작성한다 .
2). 변경되는 값 작성
@include 이름(인자1, 인자2)
! 주의 !
순서를 반드시 지켜야 하고 만약 "인자2" 만 작성하고 싶다면 @include 이름(인자2 = 인자 값)
인자를 적지 않으면 오류. 디폴트 값을 작성할 수 있음 @include 이름(인자1 : 디폴트값, 인자2 : 디폴트값)
편의를 위해 한글로 적었지만 기본적으로 영어로 적어야 오류 일어날 확률이 적어진다
6. @use - 파일 끌어 쓰기
다른 scss파일을 끌어다 쓸때 사용.
1). @use "파일이름"; 혹은 @use "파일이름" as 별칭;
2). @use "test" as c;
.box {
color: c.$다른파일변수이름;
}
7. 연산자 --추후 추가할 예정
연산자는 주로 + - * / 사칙연산을 쓰는데 /- 나누기는 이미 사용하는 기호라서 +, - 같이 써야 오류가 덜난다.
참고
sass 공식문서 - https://sass-lang.com/
생활코딩 - https://opentutorials.org/module/237/2488
나무위키 - https://namu.wiki/w/Sass
'프론트' 카테고리의 다른 글
HTML5 시멘틱 태그와 웹 표준을 지키는 이유 (0) | 2024.06.12 |
---|---|
내가 가고 싶은 회사 (0) | 2024.06.12 |
내가 생각하는 프론트엔드 개발이란? (0) | 2024.06.04 |
6개월의 프론트엔드 공부 (1) | 2024.06.04 |
Git - SSH공개키 만들기 (0) | 2024.06.04 |