데굴데굴

TIL: 2023-05-04 본문

Lesson/TIL

TIL: 2023-05-04

aemaaeng 2023. 5. 4. 22:49

⚙️ 오늘 학습한 내용

css 전처리기, css-in-js

🐹 오늘의 기분

styled-components를 쓰기만 하고 막상 css 전처리와 css-in-js에 대한 이해는 상대적으로 부족했던 것 같아 정리해보았다. 비가 와서 그런가 날이 어두침침해서 너무 졸리다.. 체력살려

🗝 키워드

css 전처리기, SASS, SCSS, Less, CSS-in-JS

🗣 스스로에게 설명

우선 전에 부트캠프 하면서 정리했던 글

 

TIL: 2022-10-27

⚙️ 오늘 배운 주제 Component Driven Development 🐹 오늘의 기분 월요일에 잠을 제대로 못 잤는데 그 여파가 이제서야 제대로 와버렸다. 학습 내내 너무너무 피곤했다.게다가 요즘 소화도 잘 안 돼서

haruisshort.tistory.com

프로젝트의 규모와 복잡도가 커지고 대응해야 할 기기가 많아지면서 구조화된 css 작성의 필요성이 대두됨
BEM, SASS, CSS-in-JS 등 여러 css 방법론이 제시되었고, 그 방법론들의 공통 지향점은 아래와 같다

  • 코드 재사용
  • 유지보수 용이
  • 코드 확장성
  • 시맨틱한 클래스명으로 의미 예측 가능

css 전처리기

전처리기의 자신만의 특별한 syntax를 가지고 css를 생성하도록 하는 프로그램
css에서 일반적인 프로그래밍 개념을 사용하여 기존 css가 가질 수 있는 불리한 점을 해결할 수 있게 해준다.
각 전처리기에 맞는 컴파일러로 CSS를 해석한다.

SASS/SCSS

https://sass-lang.com/
Syntatically Awesome Style Sheets

 

Sass: Syntactically Awesome Style Sheets

Sass is the most mature, stable, and powerful professional grade CSS extension language in the world.

sass-lang.com

Sass helps keep large stylesheets well-organized and makes it easy to share design within and across projects.

CSS 확장언어
파일 확장자를 .scss로 쓴다.

세미콜론, 중괄호를 쓰지 않는다.
SASS의 버전 3에서 SCSS가 등장한다.
SCSS(Sassy CSS)는 CSS와 거의 같은 문법으로 SASS 기능을 지원한다.

 

css 전처리기, Sass(SCSS)에 대하여

컴퓨터/IT/알고리즘 정리 블로그

chanhuiseok.github.io

Less

Leaner Style Sheets

 

Getting started | Less.js

Less (which stands for Leaner Style Sheets) is a backwards-compatible language extension for CSS. This is the official documentation for Less, the language and Less.js, the JavaScript tool that converts your Less styles to CSS styles. Because Less looks ju

lesscss.org

CSS의 기존 문법을 그대로 사용한다
node.js로 컴파일이 가능하다

 

참고

 

css의 전처리 도구SASS,SCSS,Less의 차이

 

negabaro.github.io

 

CSS 전처리기란?

전처리기의 자신만의 특별한 syntax를 가지고 CSS를 생성하도록 하는 프로그램→ CSS의 문제점들을 Programmatically 한 방식. 즉 변수, 함수, 상속 등 일반적인 프로그래밍 개념을 사용가능( 전처리기는

velog.io

CSS-in-JS

css를 JavaScript 코드에서 작성하는 방식
styled-components, emotion, Linaria 등이 있다.

css-in-js는 runtime css-in-jszero-runtime css-in-js로 나뉜다.
zero-runtime이라는 것은 runtime에서의 동작이 없다는 것을 의미하며, 동적으로 스타일을 생성하지 않는다는 것과 같다.

zero-runtime css-in-js 라이브러리로는 Linaria가 있다.
Linaria는 babel plugin과 webpack loader를 이용해 css 코드를 추출하여 정적인 스타일시트를 생성하는 방식으로 동작한다.

 

참고

 

CSS-in-JS, 무엇이 다른가요?

Table of Contents CSS in JS? Critical CSS와 CSS-in-JS Performance Atomic CSS 마무리 References CSS in JS? CSS-in-JS는 단어 그대로 JavaScript코드에서 CSS를 작성하는 방식을 말합니다. 2014년 Facebook 개발자인 Christopher Chedeau

so-so.dev

 

시간날 때 읽어볼 글

 

CSS vs. CSS-in-JS: How and why to use each - LogRocket Blog

Let's discuss the pros and cons of CSS vs. CSS-in-JS given the current state of modern CSS and how it is likely to change in the future.

blog.logrocket.com

 

역사로 알아보는 CSS가 어려워진 이유: ①웹 문서에서 웹 애플리케이션으로 | 요즘IT

CSS는 배우기 어렵지 않으며 CSS를 작성하는 것 역시 어렵지 않습니다. 하지만 CSS 개발을 하다 보면 'CSS를 이렇게 쓰는 게 맞는가?' 하는 의문이 들 때가 생깁니다. 처음 배울 때와 달리 점점 CSS

yozm.wishket.com

 

역사로 알아보는 CSS가 어려워진 이유: ②CSS in JS와 Atomic CSS | 요즘IT

이번 글에서는 JS와 Atomic CSS의 두 가지 갈래로 진화하고 있는 프레임워크와 번들 생태계를 살펴보려고 합니다.

yozm.wishket.com

 

'Lesson > TIL' 카테고리의 다른 글

TIL: 2023-05-06  (0) 2023.05.06
TIL: 2023-05-05  (0) 2023.05.05
TIL: 2023-05-01  (0) 2023.05.01
TIL: 2023-04-29  (0) 2023.04.29
TIL: 2023-04-28  (0) 2023.04.28
Comments