웹 프로젝트의 규모가 커질수록 색상, 간격, 폰트 크기 등을 일일이 관리하는 것은 매우 고된 작업입니다. 수정 사항이 발생했을 때 수백 개의 라인을 찾아다니며 값을 바꾸고 있지는 않으신가요?이러한 문제를 해결해 주는 것이 바로 **CSS 변수(Custom Properties)**입니다. 이번 포스팅에서는 CSS 변수의 기본 개념부터 실무에서 유용하게 쓰이는 고급 활용법까지 상세히 알아보겠습니다.1. CSS 변수란 무엇인가요?CSS 변수는 CSS 작성 시 반복적으로 사용되는 특정 값을 이름을 붙여 저장해 두고, 필요할 때 호출해서 사용할 수 있는 기능입니다.기본 문법선언: --로 시작하는 이름을 사용합니다.사용: var() 함수를 이용해 불러옵니다./* 변수 선언 */:root { --main-color..
오늘날 웹 사이트는 스마트폰, 태블릿, 데스크톱 등 수많은 기기에서 접속됩니다. 모든 기기에서 최적화된 화면을 보여주기 위한 '반응형 웹'의 핵심 기술이 바로 **미디어 쿼리(Media Query)**입니다. CSS3에서 도입된 이 기능을 통해 우리는 기기의 특성(너비, 높이, 해상도 등)에 따라 서로 다른 스타일을 적용할 수 있습니다.1. 미디어 쿼리의 기본 구조미디어 쿼리는 @media 규칙을 사용하여 선언합니다. 가장 기본적인 형태는 다음과 같습니다.@media 미디어유형 and (조건문) { /* 조건이 참일 때 적용될 CSS 코드 */}미디어 유형: all(모든 기기), screen(컴퓨터/스마트폰 화면), print(인쇄 장치) 등이 있습니다. 보통 생략하면 all로 간주됩니다.조건문: 주로..
웹 디자인의 세계에서 레이아웃을 잡는 것은 언제나 큰 숙제였습니다. 과거에는 table이나 float을 이용해 어렵게 화면을 구성했지만, 이제는 CSS Grid라는 강력한 도구가 우리 곁에 있습니다.Flexbox가 1차원(행 또는 열) 레이아웃에 최적화되어 있다면, Grid는 2차원(행과 열 모두) 레이아웃을 자유자재로 설계할 수 있게 해줍니다. 오늘은 Grid의 기초부터 실무에서 바로 쓸 수 있는 예제까지 함께 살펴보겠습니다.1. Grid의 기본 용어 정리Grid를 시작하기 전에 반드시 알아야 할 개념들이 있습니다.Grid Container (그리드 컨테이너): display: grid;를 선언한 부모 요소입니다. Grid의 전체적인 틀을 정의합니다.Grid Item (그리드 아이템): 컨테이너의 직계..
웹 디자인을 하다 보면 요소를 가로로 나열하거나, 부모 요소의 정중앙에 배치해야 하는 상황이 빈번하게 발생합니다. 과거에는 float이나 table 속성을 활용해 복잡하게 구현했지만, 이제는 Flexbox 하나로 모든 것이 해결됩니다.오늘은 Flexbox의 핵심 중의 핵심인 **메인축 정렬(justify-content)**과 **교차축 정렬(align-items)**을 다양한 예제와 함께 살펴보겠습니다.1. Flexbox의 기본 구조: 부모와 자식Flexbox를 사용하기 위해서는 정렬하고자 하는 요소들의 부모 바구니에 display: flex;를 선언하는 것부터 시작합니다.Flex Container (부모): 정렬의 기준이 되는 영역Flex Item (자식): 정렬되는 대상.container { dis..
웹 디자인에서 요소의 위치를 결정하는 position 속성은 레이아웃의 뼈대를 만드는 핵심 도구입니다. 각 속성의 특징과 실제 활용 사례를 통해 원리를 파악해 보겠습니다.1. static (기본값)모든 HTML 요소의 기본값입니다. 요소를 HTML 코드 순서대로 일반적인 문서 흐름(Normal Flow)에 따라 배치합니다.특징: top, bottom, left, right, z-index 속성이 무시됩니다.예시: 별도의 설정을 하지 않은 모든 div, p, h1 태그 등..box { position: static; /* 아래 속성들은 적용되지 않음 */ top: 20px; left: 50px;}2. relative (상대 위치)요소를 자신이 원래 있어야 할 위치를 기준으로 이동시킵니다.특징: 요소..
웹 디자인을 하다 보면 CSS 코드가 의도대로 작동하지 않아 개발자 도구(F12)를 켜고 취소선이 그어진 속성들을 허망하게 바라보곤 합니다. CSS는 이름 그대로 'Cascading(폭포처럼 쏟아지는)' 규칙을 따르기 때문에, 어떤 스타일이 최종적으로 선택되는지 결정하는 명확한 체계가 있습니다.1. CSS 상속(Inheritance): 부모의 유산상속은 부모 요소에 적용된 스타일이 자식 요소에게 전달되는 성질입니다. 하지만 모든 속성이 상속되는 것은 아닙니다.상속되는 속성 vs 상속되지 않는 속성상속되는 것들: 주로 텍스트 관련 속성 (color, font-family, font-size, font-weight, line-height, text-align 등)상속되지 않는 것들: 주로 박스 모델 관련 속..
웹 애플리케이션을 개발하다 보면 사용자 설정을 저장하거나, 폼 입력 데이터를 임시로 보관해야 할 때가 있습니다. 과거에는 이를 위해 쿠키(Cookie)를 주로 사용했지만, 이제는 더 쉽고 강력한 **로컬 스토리지(Local Storage)**를 사용합니다.이 포스트에서는 로컬 스토리지의 개념부터 객체 저장 방법, 그리고 실전 예제까지 상세히 알아보겠습니다.1. 로컬 스토리지(Local Storage)란?로컬 스토리지는 웹 브라우저가 제공하는 키-값(Key-Value) 형태의 저장소입니다.주요 특징지속성: 브라우저를 닫거나 컴퓨터를 재부팅해도 데이터가 사라지지 않습니다.용량: 쿠키(약 4KB)보다 훨씬 큰 용량(보통 5MB 내외)을 제공합니다.서버 전송 없음: 쿠키와 달리 HTTP 요청 시 서버로 전송되지..
웹 페이지에 화려한 애니메이션이나 복잡한 차트를 넣고 싶을 때, 우리는 두 가지 갈림길에 서게 됩니다. 바로 **SVG(Scalable Vector Graphics)**와 Canvas API입니다. 둘 다 그래픽을 표현하지만, 작동 원리는 완전히 다릅니다.오늘은 이 두 방식의 핵심 차이점을 살펴보고, 어떤 상황에서 무엇을 선택해야 할지 명확한 기준을 제시해 드립니다.1. SVG (Scalable Vector Graphics)특징: "확장 가능한 벡터 그래픽"SVG는 XML 기반의 마크업 언어입니다. 우리가 흔히 사용하는 HTML 태그처럼 , , 등의 태그로 구성됩니다.벡터 방식: 해상도에 독립적입니다. 아무리 확대해도 이미지가 깨지지 않습니다.DOM 접근 가능: 각 요소가 HTML 문서의 일부(DOM)..
- Total
- Today
- Yesterday
- 구글
- AI
- 협력
- LLM
- 웹기초
- SSR
- It용어
- TypeScript
- 카카오
- Rag
- 스마트안경
- on-device ai
- CSR
- react
- Nextjs
- CSS
- Javascript
- 멀티모달
- sLLM
- MSA
- java
- 엣지컴퓨팅
- prompt engineering
- HBM
- HTML
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |