1. CSS보다 SCSS/SASS가 가진 장점에 대해 설명하세요.
SCSS와 SASS는 CSS의 Preprocessor(전처리기)이다. CSS보다 쉬우면서, 추가 기능이 있는 CSS
의 확장판 같은 역할이다.
코드 중복을 줄일 수 있다.
CSS의 특성상, 셀렉터를 중복해서 사용해야 하는 경우가 많은데, SASS의 Nesting을 이용
해 코드의 양을 줄이고, 연관된 코드를 그룹화 할 수 있다.
변수를 사용할 수 있다.
$ 로 시작하는 변수를 지정해, 크기나 색상과 같은 값을 일괄적으로 변경할 수 있게 해준
다.
함수와 연산자를 사용할 수 있다.
mixin을 사용해 사이트 전체적으로 자주 쓰이는 CSS 그룹을 만들고 재사용할 수 있다.
extend를 사용해 특정 셀렉터를 상속할 수 있게 하여, 셀렉터에 정의된 값을 한 곳에서 관
리할 수 있게 한다.
이러한 SCSS와 SASS의 장점은 코드를 쉽게 관리할 수 있게 하여 유지보수성을 극대화한다.
2.CSS, SCSS, SASS의 차이점과 리액트와 사용할 거면 무엇을 쓸 건지 설
명하세요.
SCSS와 SASS는 CSS의 preprocessor(전처리기)로, CSS에 기능을 추가한 것이다. 기능을 추가한
것이지, CSS 표준 자체를 확장한 것은 아니다.SCSS는 CSS 문법에 SASS 문법을 섞은 것이며,
SASS 컴파일러로 그대로 컴파일 될 수 있다.
SASS와 SCSS의 차이점
SCSS는 CSS 문법을 사용해야 할 때 사용하는 반면, SASS는 CSS 문법을 따르지 않
아도 될 때 사용한다. SCSS는 CSS의 문법을 그대로 사용하는 반면, SASS는 인덴
테이션으로 구별한다. 따라서 SCSS가 CSS와의 호환성이 비교적 좋다.
SASS는 들여쓰기와 줄 바꿈이 문법의 요소이기 때문에 여러 줄 쓰기를 지원하지
않는다.
SCSS는 CSS 문법을 따라가기 때문에 세미콜론을 사용해야 한다. 반면 SASS는 세
미콜론을 사용하지 않는다.
리액트와 사용할 경우 SASS와 SCSS 중 어느 것을 사용할지?
먼저, node-sass 라이브러리를 사용하면 SASS를 CSS로 변환해준다. 또한 SASS는 SCSS와 완전
히 호환되기 때문에, 사용성에 있어서는 큰 차이가 없을 것이다. 따라서 나에게 익숙한 CSS 문법
을 사용하는 SCSS를 사용할 것이다.
3.id와 class 셀렉터의 차이점에 대해 설명하세요.
id는 문서 안의 유일한 요소를 식별하고 싶을 때 사용하며, class는 공통점이 있는 여러 요소를
그룹화하여 식별하고 싶을 때 사용한다.CSS에서 id는 샾(#)를 앞에 붙이며, class는 피리어드(.)을 붙여서 구별한다.
또한 id는 class의 속성보다 우선순위가 높으며, id의 속성은 해당 요소에 부여된 class의 속성과
관계없이 작동한다.
4.CSS 박스 모델에 대해서 설명하세요.
모든 HTML 요소는 박스 모양으로 구성되기 때문에, 이를 박스 모델이라고 한다.
박스 모델에서는 각 HTML 요소들에 padding, border, margin, content이 있다.
px
px은 절대 길이 단위로, 일반적인 모니터 디스플레이의 1 픽셀을 의미한다.
상대 길이 단위
상대 길이 단위는 다시 글꼴 상대 길이와 뷰포트 백분율 길이로 나뉜다. 글꼴 상대 길이는 길이값
을 특정 문자나 현재 사용하는 폰트를 기준으로 설정하는 반면, 뷰포트 백분율 길이는 길이값을
뷰포트를 기준으로 설정한다.
em은 부모 요소의 폰트 사이즈를 기준으로 하는 반면, rem은 루트 요소(일반적으로 요
소)의 폰트 사이즈를 기준으로 한다.
vh는 뷰포트의 초기 컨테이너 블록의 높이의 1%를 기준으로 하는 반면, vw는 뷰포트의 초기 컨
테이너 블록의 너비의 1%를 기준으로 한다.
**1차원 레이아웃과 2차원 레이아웃은 무슨 차이가 있나요?** flexbox는 레이아웃을
다룰 때 한 번에 하나의 차원(행이나 열)만 다루기 때문에 1차원이라 부른다. 반면,
grid 레이아웃은 행과 열을 함께 조절하기 때문에 2차원 모델이라 부른다.
**7. CSS in JS(styled component)의 장단점에 대해서 설명하세요.**
**장점**
◦
**단점**