지금 css 다시 공부 중인디 정리해 본 적이 없어서 해 본다
css의 문법이나 스타일 라이브러리의 사용법 보다는 각각의 특징들을 정리하는 글
참고
Cascading Style Sheets의 약자로 html등 과 같은 웹문서의 스타일을 지정하는 언어
.css확장자를 이용해 css파일 생성예시 코드
body {
margin: '10px';
}
.container {
diplay: 'flex';
flex-direction: 'column';
}
css를 모듈처럼 사용하는 방법
css 사용 시 자동으로 고유한 클래스 이름을 생성해 제한적인 scope 생성
.module.css로 작성import를 사용해 불러와 모듈처럼 사용하면 됨css 코드 예시
.title {
color: red;
font-size: 20px;
}
js 코드 예시
import style from 'style.module.css'
function Page () {
return <section>
<h2 style={style.title}>Hello</h2>
</section>
}
기존 css의 단점을 보완하는 CSS 전처리기
특징
$--primary-color: red;| sass | scss | |
|---|---|---|
| 중괄호 | ❌ | ⭕️ |
| 세미콜론 | ❌ | ⭕️ |
section {
$--primary-color: '#ff0000';
display: 'flex';
background-color: black;
.title {
color: var(--primary-color);
}
}
자바스크립트 런타임에 동작하는 css
css-in-js 라이브러리
import styled from 'styled-components'
const DivStyled = styled.div`
display: flex;
background-color: black;
padding: 10px;
`
// 스타일이 적용된 컴포넌트처럼 사용
function Component () {
return <DivStyled />
}
💡 현재는 성능 문제로 css-in-js를 지양하는 추세인 것 같다
inline style 방식으로 여러 css를 클래스로 정의해 가져다 사용하는 방식이다
예시 코드
import '@tailwindcss'
function Component () {
return <div className="flex w-full h-20 justify-center items-center bg-red-100">
<span className="font-extrabold text-xl">Hello World!</span>
</div>
}
쉬운 내용이긴 하지만 머리 속에서 정리가 잘 안 되어 글로 정리해 봤슴당