반응형

웹개발 48

스크립트 없이 CSS만으로 로딩 스피너 4종 만들기 – keyframes와 transform 완전 정복

안녕하세요 😊자바스크립트 없이도 CSS만으로 로딩 애니메이션을 충분히 만들 수 있습니다.아래 예제 4가지는 실무에서 바로 가져다 쓰기 좋도록 HTML 1줄 + CSS 몇 줄로 구성했습니다. 1) 기본 원형 스피너 (border 회전) .spinner { width: 40px; height: 40px; border: 3px solid #e9ecef; border-top-color: #1abc9c; border-radius: 50%; animation: spin 0.8s linear infinite;}@keyframes spin { to { transform: rotate(360deg); } }2) 점 3개 점멸 스피너.dots { display: inline-flex; gap: 6px; }.d..

HTML, CSS 2025.09.11

useImperativeHandle – 부모가 자식의 함수를 직접 호출하는 방법

안녕하세요 😊React에서 일반적으로 부모 → 자식으로 props를 내려주어 동작을 제어합니다.하지만 때때로 부모 컴포넌트가 자식 컴포넌트의 특정 함수나 값에 직접 접근해야 할 때가 있습니다.이럴 때 사용하는 Hook이 **useImperativeHandle**입니다.📍 1. 언제 필요한가?자식 컴포넌트를 외부 API처럼 동작시키고 싶을 때예: 부모에서 자식의 focus(), reset() 같은 메서드를 직접 호출Form, Modal, Canvas 컨트롤 등에서 자주 사용📍 2. 기본 문법useImperativeHandle(ref, createHandle, [deps]);ref: 부모로부터 전달받은 ref 객체createHandle: 부모가 접근할 수 있도록 노출할 속성과 메서드 정의deps: 의존..

React, Vue 2025.09.08

<mark> 태그로 검색 하이라이트 구현하기 – 접근성과 SEO까지 챙기기

안녕하세요 😊는 **중요 텍스트를 강조(하이라이트)**할 때 사용하는 시맨틱 태그입니다.특히 검색 결과 강조, 읽기 가이드에 유용합니다.1) 기본 사용 다음 문장에서 중요한 키워드를 확인하세요. 브라우저 기본값은 노란 형광펜 스타일로 표시됩니다.2) 스타일 커스터마이징 mark { background: #fffd8a; /* 연한 노랑 */ padding: 0 .2em; border-radius: .25em;}3) 검색 하이라이트 예시 검색어: react결과: React Suspense improves loading UX.4) 접근성 & SEO는 단순 스타일이 아닌 **의미(semantics)**를 제공하므로 스크린리더와 검색엔진에 유리합니다.단순 색상 강조만 필요하면 도 가능하지만, 맥락상 중요 ..

HTML, CSS 2025.09.07

<time> 태그 – 날짜와 시간을 의미 있게 표현하는 방법

안녕하세요 😊HTML5에서는 날짜와 시간을 시맨틱하게 표현할 수 있도록 태그를 제공합니다.이 태그는 브라우저, 검색 엔진, 보조기기(Screen Reader) 등이 날짜/시간 정보를 정확히 인식할 수 있게 합니다.📍 1. 기본 문법2025년 9월 03일datetime 속성: ISO 8601 형식으로 날짜·시간을 지정 (YYYY-MM-DD, HH:MM:SS)태그 안의 내용: 사용자가 읽기 쉬운 형식으로 표시📍 2. datetime 속성 값 형식 유형 예시 설명 날짜2025-09-03연-월-일시간05:30시:분 (24시간제)날짜+시간2025-09-03T05:30연-월-일 + 'T' + 시:분주2025-W33연-주차월2025-09연-월📍 3. 실제 예제A. 블로그 게시일 게시일: 2025년 9월 ..

HTML, CSS 2025.09.03

Map & Set 완전 정복 – 언제, 왜, 어떻게 써야 할까요?

안녕하세요 😊오늘은 ES6에서 도입된 컬렉션 객체 **Map**과 **Set**을 정리해보겠습니다.Map은 키-값 저장소, Set은 중복 없는 값 집합으로, 기존 Object와 Array의 한계를 보완합니다.실무 예제와 함께 “언제 어떤 걸 써야 하는지”까지 알아보겠습니다.1) Map 한눈에 보기 – “모든 타입을 키로 쓰는 해시 맵”특징키에 어떤 타입이든 사용 가능(객체, 함수, NaN 포함)삽입 순서 보장크기: map.size반복: for...of, map.forEach() // 생성 & 기본 메서드const m = new Map();m.set('name', 'Kim');m.set({ id: 1 }, 'object-key');m.set(NaN, 'not-a-number');console.log(m...

JavaScript, jQuery 2025.09.01

localStorage & sessionStorage – 브라우저 데이터 저장 완벽 가이드

안녕하세요 😊웹 개발에서 사용자의 데이터를 브라우저에 저장하는 기능은 매우 유용합니다.로그인 상태 유지, 장바구니 저장, 사용자 환경 설정 등이 대표적인 예입니다.이때 웹 스토리지(Web Storage) API인 localStorage와 sessionStorage를 사용하면간단하게 데이터를 저장하고 불러올 수 있습니다.📍 1. localStorage vs sessionStorage 차이 특징 localStorage sessionStorage 저장 기간브라우저를 닫아도 유지브라우저 탭을 닫으면 삭제저장 범위모든 탭·창에서 공유현재 탭에서만 유지용량약 5~10MB약 5~10MB데이터 형식문자열만 저장 가능문자열만 저장 가능 📍 2. 기본 사용법// 저장localStorage.setItem("user..

JavaScript, jQuery 2025.08.31

useMemo – 불필요한 연산 줄여 성능 최적화하기

안녕하세요 😊React 컴포넌트가 렌더링될 때,값을 계산하는 로직이 복잡하거나 무거우면 매번 연산이 반복되어 성능이 저하될 수 있습니다.이럴 때 useMemo Hook을 사용하면 필요할 때만 연산을 실행하고 결과를 재사용할 수 있습니다.📍 1. useMemo란?메모이제이션(Memoization) 기능을 제공하는 React Hook**의존성(dependencies)**이 변경될 때만 콜백 함수를 다시 실행복잡한 계산, 큰 데이터 변환, 필터링, 정렬 등에 유용문법const memoizedValue = useMemo(() => { // 계산 로직 return 결과값;}, [의존성]);📍 2. 기본 예제import React, { useMemo, useState } from "react";export..

React, Vue 2025.08.30

JavaScript fetch() API – 비동기 데이터 가져오기 완벽 가이드

안녕하세요 😊웹 개발에서 서버와 데이터를 주고받는 일은 아주 흔합니다.예전에는 XMLHttpRequest를 사용했지만,이제는 더 간단하고 직관적인 fetch() API가 표준으로 자리 잡았습니다.이번 글에서는 fetch() API의 기본 사용법부터에러 처리, JSON 변환, POST 요청, async/await 활용까지 정리해보겠습니다.📍 1. 기본 사용법fetch("https://jsonplaceholder.typicode.com/posts/1") .then(response => response.json()) // JSON 변환 .then(data => console.log(data)) .catch(error => console.error("에러 발생:", error)); 📌 특징첫 번째 인..

JavaScript, jQuery 2025.08.29

CSS 변수(var()) 완전 정복 – 테마 변경과 유지보수를 편하게 하는 방법

안녕하세요 😊CSS에서 색상이나 폰트 크기 같은 값을 여러 군데서 반복해서 쓰다 보면,한 번 변경하려고 해도 모든 곳을 찾아 수정해야 해서 번거롭습니다.이럴 때 **CSS 변수(Custom Properties)**를 사용하면 유지보수가 훨씬 쉬워집니다.📍 1. CSS 변수란?CSS에서 값을 변수처럼 저장하고 재사용할 수 있는 기능--변수명 형식으로 선언, var(--변수명)으로 사용변수의 스코프(범위) 설정 가능📍 2. 기본 문법:root { --main-color: #4CAF50; --font-size-lg: 20px;}h1 { color: var(--main-color); font-size: var(--font-size-lg);}:root는 문서 전체에 변수를 적용하는 전역 범위변수명은 ..

HTML, CSS 2025.08.28

HTML5 <figure>와 <figcaption> – 이미지와 캡션을 올바르게 쓰는 방법

안녕하세요 😊웹에서 이미지를 넣을 때, 단순히 태그만 사용하는 경우가 많습니다.하지만 HTML5에서는 이미지와 그 설명(캡션)을 구조적으로 묶어 표현할 수 있는와 태그를 제공합니다. 이 태그들을 올바르게 사용하면접근성(Accessibility) 강화SEO(검색엔진 최적화) 개선코드 가독성 향상등의 효과를 얻을 수 있습니다.📍 1. 란?이미지, 코드 스니펫, 차트 등 독립적인 콘텐츠 블록을 나타내는 태그문서의 주 흐름에서 분리되어도 의미가 유지됨내부에 을 함께 쓸 수 있음기본 예제 📍 2. 란? 내부 콘텐츠에 대한 **설명(캡션)**을 제공하는 태그 내부에서 첫 번째나 마지막 위치에 배치 가능예제 서해안에서 촬영한 아름다운 노을📍 3. 시각 + 접근성 모두 챙기는 방법alt 속성 → 화면..

HTML, CSS 2025.08.26
반응형