반응형

HTML, CSS 66

반응형 웹디자인 ✅ 모바일 퍼스트 전략과 실무 설계법

요즘 웹사이트는 모바일 사용률이 70% 이상입니다.그래서 이제는 “데스크탑 기준으로 줄여가는 방식”이 아니라👉 모바일 기준으로 확장해가는 설계 (Mobile First) 가 표준입니다.🌱 1. 모바일 퍼스트란?모바일 퍼스트(Mobile First) 는 디자인과 개발을 “가장 작은 화면”에서 시작하여,점점 화면이 커질 때마다 스타일을 확장하는 접근 방식입니다. 📌 핵심 개념:❌ “큰 화면을 줄이는 것” → ✅ “작은 화면을 확장하는 것”📏 2. 기본 단위 설계 – 뷰포트 기준 html { font-size: 16px; /* 기준 단위 */}.container { width: 100%; max-width: 1200px; margin: 0 auto;} 📌 모바일에서는 항상 100% 기반 레이아..

HTML, CSS 2025.11.25

CSS Grid ✅ 실무에서 바로 쓰는 5가지 레이아웃 패턴

CSS Grid는 2차원(행 + 열) 레이아웃을 완벽하게 제어할 수 있는 강력한 도구입니다.이 포스팅에서는 단순한 정렬을 넘어서, 실무에서 자주 쓰는 패턴 예시를 소개해봅니다.🧱 1. 기본 레이아웃 패턴 (Header / Main / Aside / Footer) Header Sidebar Main Footer​ .grid-layout { display: grid; grid-template-areas: "header header" "aside main" "footer footer"; grid-template-columns: 200px 1fr; grid-template-rows: 80px 1fr 60px; gap: 10px;}header { grid-area: header;..

HTML, CSS 2025.11.22

CSS 컨테이너 쿼리 ✅ 컴포넌트 단위 반응형 디자인 구현법

기존 **미디어 쿼리(@media)**는 브라우저 전체 뷰포트 크기를 기준으로 반응형 디자인을 적용합니다.하지만 컴포넌트 기반 UI(React, Vue, Angular)에서는 부모 컨테이너 크기에 따라 반응형 스타일이 필요합니다.이를 해결해주는 최신 기능이 바로 @container입니다.📌 1. 기본 문법 @container (min-width: 600px) { .card { flex-direction: row; }} 👉 부모 컨테이너의 너비가 600px 이상일 때 .card 스타일 적용📌 2. 컨테이너 선언컨테이너 쿼리를 쓰려면 부모 요소에 container-type을 지정해야 합니다. .wrapper { container-type: inline-size; /* width 기준 */}?..

HTML, CSS 2025.11.04

CSS 최신 선택자 ✅ :has() 활용법과 실무 예제

:has()는 흔히 **“부모 선택자”**로 불리며, CSS에서 드디어 상위 요소를 조건부로 스타일링할 수 있게 해줍니다.기존에는 순수 CSS만으로 불가능했던 패턴을 해결해주는 강력한 기능입니다.📌 1. 기본 문법 A:has(B) { ... } 👉 A 요소가 B를 포함하고 있다면 스타일 적용📌 2. 폼 검증 스타일링 /* input이 비어있으면 빨간 테두리 */form:has(input:invalid) { border: 2px solid red;} 📌 기존에는 JS로 처리해야 했던 폼 상태 스타일링이 가능📌 3. 드롭다운 메뉴 제어 .dropdown:has(:hover) .menu { display: block;} 📌 부모에 :hover가 있으면 자식 메뉴 표시📌 4. 카드 UI – 버튼..

HTML, CSS 2025.11.03

Chart.js ✅ Canvas로 손쉽게 데이터 시각화하는 방법

데이터를 직관적으로 보여주려면 시각화 도구가 필요합니다.Chart.js는 가볍고 직관적인 API를 제공하여,막대 그래프, 선 그래프, 원형 차트, 레이더 차트 등 다양한 차트를 쉽게 구현할 수 있습니다.⚙️ 1. 설치 및 기본 세팅설치 npm install chart.jsHTML 예시 JS 예시 import { Chart } from "chart.js";const ctx = document.getElementById("myChart").getContext("2d");new Chart(ctx, { type: "bar", // 차트 타입 data: { labels: ["Red", "Blue", "Yellow", "Green", "Purple"], datasets: [{ label: "..

HTML, CSS 2025.11.01

HTML5 Canvas ✅ 도형 그리기와 실무 활용 예시

는 HTML5에서 추가된 태그로, 픽셀 단위의 그래픽 처리를 지원합니다.자바스크립트와 함께 사용해야만 그림을 그릴 수 있습니다. const canvas = document.getElementById("myCanvas");const ctx = canvas.getContext("2d"); // 2D 컨텍스트⬛ 1. 사각형 그리기 // 채워진 사각형ctx.fillStyle = "blue";ctx.fillRect(50, 50, 100, 100);// 테두리 사각형ctx.strokeStyle = "red";ctx.strokeRect(200, 50, 100, 100);// 사각형 지우기ctx.clearRect(80, 80, 40, 40);⚪ 2. 원(원형) 그리기 ctx.beginPath();ctx.arc(150..

HTML, CSS 2025.10.31

웹 접근성 ✅ 모달, 드롭다운, 탭 UI를 위한 ARIA 패턴

웹 접근성을 고려하지 않은 UI는 시각장애인, 키보드 사용자 등에게 큰 불편을 줍니다.이를 해결하기 위해 ARIA 속성과 포커스 제어를 올바르게 적용해야 합니다.이번 포스팅에서는 실무에서 가장 많이 쓰이는 세 가지 UI 패턴을 정리해보겠습니다.🪟 1. 모달(Dialog)문제점모달 열렸을 때 배경 요소까지 포커스가 이동스크린리더가 모달임을 인식하지 못함✅ 접근성 패턴 회원가입 정보를 입력해주세요. X 📌 포인트role="dialog" + aria-modal="true"모달 열릴 때 첫 번째 포커스 이동닫을 때 원래 버튼으로 포커스 복귀배경에는 aria-hidden="true" 적용⬇️ 2. 드롭다운 메뉴문제점div만으로 메뉴 구성 → 스크린리더 인식 불가키보드 화살표로 메뉴 이동 불가능✅ 접근성..

HTML, CSS 2025.10.30

CSS 애니메이션 vs JavaScript 애니메이션 ✅ 차이점, 장단점, 실무 활용

애니메이션은 단순한 시각 효과를 넘어서 사용자 상호작용과 브랜드 아이덴티티를 표현하는 중요한 요소입니다.하지만 구현 방식에 따라 성능, 유지보수, 확장성에서 큰 차이가 발생합니다.🧩 1. CSS 애니메이션✅ 특징transition, @keyframes을 활용브라우저 최적화 지원 → GPU 가속 덕분에 부드럽게 동작간단한 효과에 적합 (페이드 인/아웃, 슬라이드 등)📌 예시: 버튼 호버 애니메이션 button { background: #007bff; transition: background 0.3s ease;}button:hover { background: #0056b3;}📌 예시: 로딩 애니메이션 @keyframes spin { to { transform: rotate(360deg); }}...

HTML, CSS 2025.10.23

CSS 반응형 디자인 ✅ 미디어쿼리, 모바일 퍼스트, 컨테이너 쿼리

반응형 디자인은 하나의 코드로 다양한 화면 크기를 지원하는 방법입니다.사용자가 어떤 기기를 쓰든지, 최적화된 UI/UX를 제공할 수 있도록 만드는 것이 목표입니다.🧩 1. 미디어쿼리(Media Query)📌 기본 문법 @media (조건) { /* 적용할 CSS */}예제 – 화면 크기에 따른 스타일 변경 .container { width: 100%;}@media (min-width: 768px) { .container { width: 750px; }}@media (min-width: 1200px) { .container { width: 1140px; }} 👉 화면 크기에 따라 유동적으로 레이아웃 변경 가능📱 2. 모바일 퍼스트 전략기본 스타일 = 모바일 기준큰 화면(태블릿/..

HTML, CSS 2025.10.16

HTML5 폼 요소 ✅ input 타입, select, textarea 활용법

폼 요소는 사용자 입력을 받는 가장 기본적인 방법입니다.HTML5에서는 더 다양한 input 타입과 속성이 추가되어,브라우저만으로도 풍부한 사용자 경험을 제공할 수 있습니다.이번 포스팅에서는 자주 쓰이는 폼 요소와 실무 활용 예제를 정리해드립니다.🧾 1. 태그은 가장 다양한 타입을 지원합니다.📌 기본 구조 📌 주요 타입 정리타입설명예시text일반 텍스트 입력이름, 아이디password비밀번호 입력 (가려짐)로그인 비밀번호email이메일 형식만 허용사용자 이메일urlURL 형식만 허용홈페이지 주소number숫자 전용 입력나이, 수량tel전화번호 입력010-1234-5678date날짜 선택생년월일time시간 선택예약 시간datetime-local날짜+시간 입력스케줄 등록color색상 선택기테마 색상 ..

HTML, CSS 2025.10.15
반응형