일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 인터페이스 vs 타입
- Blob 사용하는 이유
- Typescript Study
- Blob?
- 타입스크립트 필수 설정
- why use interface?
- Null vs Undefined
- Interface vs Type Alias
- ts 프로젝트 설정 추천
- ts 설정값
- ts 기초 설정
- 이미지 서버에 업로드
- Blob 청크
- Blob이란?
- 공부
- ts 필수 설정
- 타입스크립트 설정값
- TypeScript Deep Dive
- firebase server
- 프론트 이미지 업로드
- 인터페이스 타입 비교
- ts.config.json default setting
- JS Blob
- Typescript Handbook
- JS 이미지 미리보기
- ts.config.json
- TypeScript config
- TypeScript
- ts 설정
- TypeScript Undefined Null
- Today
- Total
RPG처럼 웹 개발하기
CSS 함수 clamp를 사용해보았다. 본문
@media 를 사용하여 평화롭게(?) 반응형 스타일을 작업하던 어느날
"반응형을 꼭 이렇게 더럽고 귀찮게 작업해야할까...?" 라는 생각이 들었습니다.
아주 간단한 속성하나만 추가하는데 css가 이렇게나 더러워진다니..
"전혀 길지도 않고 눈에 잘 들어오면서 짧은데?" 라고 생각하실 수 있습니다.
하지만 이런 CSS 코드가 점점 많아진다면요...?
이런 CSS 코드가 점점 많아지고 이런 파일들이 점점 많아진다면요...?
저는 이런 CSS 코드를 보면 CSS 코드 파악하고 수정해야하는데 읽기 싫게 너무 길다는 생각이 들것 같습니다.
그래서 저는 "CSS에 쉽게 해주는 기능이 없을까?" 생각하고 찾아보다
clamp 라고 하는 CSS 함수를 찾아보게 되었습니다.
clamp, 일단 어떻게 사용하는걸까?
백문이 불여일견!
이해하시기 간단하게 코드로 보여드리겠습니다.
위처럼 코드를 적용하면 어떤 결과가 나올까요??
개발자도구를 보시면 요소의 크기가 최대 : 800 최소 : 300 으로 고정되는게 보이시나요?
한번 보셨으니 사용 방법과 설명 을 적어보자면
div {
width: clamp(요소의 제일 작은값, 적용하고 싶은 값, 요소의 제일 큰 값);
/*
width: clamp(300px, 80vw, 800px);
위 코드를 해석해보자면 아래와 같은 뜻입니다!
80vw 로 넣을건데 (vw === Viewport Width)
300px이하가 되면 요소가 깨져보이니까 300px 이하로는 줄어들지말고
800px이상 커지면 그건 또 이상하니까 800px 이상으로 커지지는 말자 친구야?
*/
}
사용방법도 아주 간단하지 않나요??
그렇다면 이쯤에서 한번 원래 @media 를 사용해서 넣으려면 코드를 어떻게 짜야 했는지 한번 볼까요?
이미 다 아시겠지만 그래도 보여드리겠습니다 🥹
위에서 clamp 를 사용한것보다 훨씬 길고 더러워보이지 않나요?
제가 예시로 든 코드는 실제 사용될리가 절대 없는 쓸모없는 코드이지만,
실제로 사용한다면 예시 코드보다 훨씬 더 간결하게 작성할 수 있을겁니다.
하지만 clamp를 사용해서 @media 친구가 해주던 모든 일을 대체할 수는 없겠다라고 생각이 들었습니다.
분명히 @media 를 사용해서만 할 수 있는일이 있을거라고 말이죠.
그래서 이번에 제가 생각하고 느낀건 이겁니다.
@media 코드를 사용하지 않을 수 있는 코드는 간결하게 clamp 사용하고,
@media 가 꼭 필요한 부분에서만 @media 를 사용한다면 CSS코드를 보고 더 쉽고 빠르게 이해할 수 있지 않을까?
라고 말이죠.
그리고 이미 다른 많은 분들이 어떻게하면 반응형을
더 간단하면서도 이쁘게 잘 적용할 수 있을까를 많이 공부, 연구해주셨기 때문에
다른 많은 방법들이 존재합니다.
Fluid Typography 라고 하는 CSS trick 도 존재하고,
min(), max(), % 단위와 rem 등 여러가지 수많은 방법이 존재합니다.
어떤 방법이든 아무렇게나 막 남발하며 사용하기보다는
사용목적에 알맞게 사용하는게 중요하다는 생각이 듭니다.
이미 예전에 나온 CSS 함수이긴 하지만
이 함수를 오늘 처음 알게된 저에게는 오늘 나온 신기술과도 같으니 당장 사용해보러 가보려고 합니다.
새로운 기술을 적용할 생각에 벌써 설레네요 😝
그럼 이만~ 💸
정보 출처 :
https://developer.mozilla.org/en-US/docs/Web/CSS/clamp
https://css-tricks.com/snippets/css/fluid-typography/
'웹 개발' 카테고리의 다른 글
시멘틱 태그( Sematic Tag )를 잘 사용하는 방법? (0) | 2022.08.24 |
---|---|
웹 성능을 최적화하는 쉽고 간단한 방법? ( feat. 이미지 ) (0) | 2022.08.09 |
React 는 왜 함수형 컴포넌트 사용을 권장할까? (0) | 2022.07.07 |
HTTP / HTTPS 를 쉽게 알아보기로 했다. (0) | 2022.06.28 |
설명하며 이해하는 인터넷의 작동 원리 (0) | 2022.06.23 |