CSS로 툴팁에 화살표 추가하기CSS의 :after 가상 요소를 활용하면 툴팁 말미에 작은 화살표(꼬리 모양)를 간단히 추가할 수 있습니다. 이때 content 속성을 반드시 함께 지정해야 하며, 테두리(border)를 조합해 삼각형 형태의 화살표를 만드는 방식이 일반적으로 사용됩니다.화살표가 자연스럽게 보이려면 툴팁 본문과 같은 색상으로 위쪽 테두리만 채우고, 나머지 방향은 투명(transparent) 처리하는 것이 핵심입니다.예제 코드아래 예제는 마우스 커서를 올리면 툴팁이 나타나고, 툴팁 아래쪽에 파란색 화살표가 함께 표시되도
CSS로 반응형 이미지 갤러리 만드는 방법 반응형(Responsive) 이미지 갤러리는 방문자가 데스크톱, 태블릿, 스마트폰 등 어떤 기기를 사용하든 화면 너비에 맞춰 이미지 배치가 자동으로 재조정되는 갤러리를 말합니다. CSS의 미디어 쿼리(@media)와 float 속성만 활용하면 JavaScript 없이도 손쉽게 구현할 수 있습니다. 핵심 구현 원리 이번 예제에서 사용하는 핵심 기술은 다음과 같습니다. float: left — 각 갤러리 항목을 나란히 배치합니다. width: 24.99999% — 한 줄에 4개의 이미지가 들
CSS 이미지 스프라이트(Image Sprite)란 무엇인가?이미지 스프라이트(Image Sprite)는 여러 개의 이미지를 하나의 이미지 파일로 합쳐서 관리하는 기법을 말합니다. 웹 개발에서 이미지를 하나로 묶어 사용하면 서버에 보내는 요청(request) 횟수가 크게 줄어들고, 그 결과 이미지가 훨씬 빠르게 로드됩니다.이미지 스프라이트가 필요한 이유웹 페이지는 일반적으로 이미지 한 개당 한 번의 HTTP 요청을 서버에 보냅니다. 예를 들어, 아이콘 4개를 각각 별도의 파일로 사용한다면 서버에는 총 4번의 요청이 발생합니다. 요청
텍스트나 요소의 왼쪽에 툴팁을 표시하려면 CSS의 right 속성을 사용해야 합니다. 툴팁을 기준 요소의 왼쪽 바깥쪽에 배치하려면 right: 100%으로 설정하면 되는데, 이는 툴팁의 오른쪽 가장자리가 부모 요소의 왼쪽 가장자리에 맞춰지도록 하는 값입니다.왼쪽 툴팁 구현 예제아래 코드를 실행하면 마우스 커서를 텍스트 위에 올렸을 때 왼쪽 방향으로 툴팁이 나타납니다.<!DOCTYPE html> <html> <style> .mytoolti
CSS의 [attribute] 선택자는 특정 속성(attribute)을 가진 HTML 요소를 선택할 때 사용합니다. 예를 들어 alt 속성이나 target 속성처럼, 지정한 속성이 존재하는 요소만 골라 스타일을 적용할 수 있습니다.CSS [속성] 선택자란?대괄호 안에 속성 이름을 넣어 표기하며, 해당 속성의 값과 상관없이 속성 자체가 존재하는 모든 요소에 스타일이 적용됩니다. 기본 문법은 다음과 같습니다.선택자[속성명] { /* 스타일 선언 */ }예제: alt 속성을 가진 이미지에 테두리 적용하기아래 코드는 img[alt] 선
CSS에서 [attribute|=value] 선택자를 사용하면 지정된 속성값이 특정 값과 정확히 일치하거나, 그 값 뒤에 하이픈(-)이 이어지는 형태로 시작하는 요소를 선택할 수 있습니다.예를 들어 [alt|=Tutor]라고 작성하면, alt 속성값이 Tutor이거나 Tutor-Connect처럼 Tutor 다음에 하이픈이 붙는 모든 요소가 대상이 됩니다.[attribute|=value] 선택자 예제아래 코드를 직접 실행해 보면 CSS [attribute|=value] 선택자가 실제로 어떻게 동작하는지 확인할 수 있습니다.<!D
웹 페이지에서 마우스 커서를 올렸을 때 요소 아래쪽에 나타나는 하단 툴팁(bottom tooltip)은 CSS의 top 속성만으로 간단하게 구현할 수 있습니다.핵심은 툴팁 요소에 top: 100% 값을 지정하는 것입니다. 이렇게 하면 툴팁이 부모 요소의 바로 아래에 배치됩니다. 반대로 상단 툴팁을 만들고 싶다면 bottom: 100%을 사용하면 됩니다.CSS 하단 툴팁 예제아래 예제 코드를 실행하고 텍스트 위에 마우스 커서를 올려보세요. 하단에 주황색 툴팁이 나타나는 것을 확인할 수 있습니다.<!DOCTYPE html>
CSS에서 animation-delay 속성을 사용하면 애니메이션이 시작되기 전에 원하는 만큼의 지연 시간을 설정할 수 있습니다. 이 속성은 초(s) 또는 밀리초(ms) 단위로 값을 지정하며, 페이지가 로드된 후 애니메이션이 바로 실행되지 않고 설정한 시간만큼 기다린 뒤 재생됩니다.animation-delay 속성의 기본 문법기본 문법은 다음과 같습니다.animation-delay: 시간값;예를 들어 animation-delay: 2s;라고 작성하면 애니메이션이 2초 후에 시작됩니다. 값을 생략하면 기본값인 0s가 적용되어 즉시 실
CSS 인라인 목록 항목이란?HTML의 목록 항목(<li>)은 기본적으로 세로로 쌓이는 형태로 표시됩니다. 그러나 CSS에서 display: inline 속성을 적용하면 목록 항목들이 한 줄에 나란히 배치되어 가로형(수평) 내비게이션 바를 손쉽게 만들 수 있습니다.이 기법은 웹사이트 상단 메뉴 바를 구현할 때 가장 널리 사용됩니다. <ul>과 <li> 태그로 메뉴 구조를 작성한 뒤, 각 <li> 요소에 display: inline을 지정하기만 하면 됩니다.핵심 스타일 정리list-style
웹사이트에서 가장 많이 사용되는 UI 요소 중 하나인 수평 내비게이션 바는 CSS만으로 간단하게 만들 수 있습니다. 핵심 원리는 리스트 항목인 <li> 요소의 display 속성을 inline으로 설정하여, 기본적으로 세로로 쌓이는 목록을 한 줄로 나란히 배치하는 것입니다.기본 원리<ul> 태그는 기본적으로 목록 앞에 점(bullet)이 붙고 여백(margin)과 패딩(padding)이 설정되어 있습니다. 따라서 다음과 같은 스타일을 먼저 적용해야 깔끔한 내비게이션 바를 만들 수 있습니다.list-style-t
CSS에서 글꼴 크기를 설정할 때는 em 단위와 font-size 속성을 함께 사용할 수 있습니다. em은 상대적인 길이 단위로, 부모 요소의 글꼴 크기를 기준으로 크기가 결정됩니다.em 단위의 기본값대부분의 브라우저에서 기본 글꼴 크기는 16px이므로, 다음과 같은 환산 관계가 성립합니다.1em = 16px예제아래 코드를 실행하면 em 단위를 사용해 글꼴 크기를 설정하는 방법을 직접 확인할 수 있습니다.<!DOCTYPE html> <html> <head> &nbs
CSS에서 플로팅(float) 목록 항목은 목록 요소에 float 속성을 적용하여 항목들을 나란히 배치하는 기법입니다. 이 방법을 활용하면 세로로 나열되는 일반적인 목록을 손쉽게 가로형 내비게이션 바(수평 메뉴)로 변환할 수 있습니다.핵심 원리가로 내비게이션 바를 만들려면 다음 세 가지 CSS 설정이 필요합니다.list-style-type: none; — 목록 앞에 붙는 불릿(bullet) 기호를 제거합니다.float: left; — 각 목록 항목(li)을 왼쪽부터 차례대로 나란히 배치합니다.display: block; — 링크(a
웹사이트에서 가장 많이 사용되는 UI 요소 중 하나인 수평 내비게이션 바(네비게이션 메뉴)는 CSS의 float 속성을 활용한 플로팅 목록 항목만으로도 간단하게 만들 수 있습니다. 별도의 프레임워크 없이 순수 HTML과 CSS만으로 구현하는 기본적인 방법을 소개합니다.핵심 원리수평 내비게이션 바를 만들 때 사용되는 주요 CSS 속성은 다음과 같습니다.list-style-type: none; — 목록 앞에 표시되는 불릿(bullet) 기호를 제거하여 깔끔한 메뉴 형태를 만듭니다.margin: 0; padding: 0; — 브라우저 기
웹 페이지에서 내비게이션 메뉴를 만들다 보면 일부 목록 항목만 오른쪽으로 정렬해야 하는 경우가 있습니다. 예를 들어 왼쪽에는 홈, 뉴스 메뉴를 배치하고, 오른쪽에는 연락처, 소개 메뉴를 배치하는 식입니다.이럴 때 CSS의 float: right 속성을 사용하면 간단하게 해결할 수 있습니다. 기본적으로 목록 항목(li)은 세로로 쌓이지만, float 속성을 적용하면 항목들이 가로 방향으로 나란히 배치되며, float: right를 지정한 항목은 화면 오른쪽 끝으로 이동합니다.구현 방법먼저 ul 요소의 기본 여백과 불릿 마커를 제거하고
CSS로 내비게이션 바에 링크 구분선 추가하기내비게이션 바에서 각 메뉴 항목 사이에 시각적인 구분선을 추가하면 사용자가 메뉴를 더 쉽게 구별할 수 있습니다. CSS의 border-right 속성을 <li> 요소에 적용하면 간단하게 링크 구분선을 만들 수 있습니다.핵심 원리리스트 항목(<li>)에 오른쪽 테두리(border-right)를 지정하면 각 메뉴 사이에 세로 구분선이 나타납니다. 이때 마지막 항목에는 불필요한 구분선이 생기지 않도록 :last-child 선택자를 사용해 테두리를 제거하는 것이 좋습니다.예
툴팁(tooltip) 하단에 아래 방향으로 향하는 화살표를 추가하려면 CSS의 top 속성을 활용하면 됩니다. 화살표는 별도의 이미지 없이 :after 가상 요소와 테두리(border)만으로 간단하게 만들 수 있습니다.핵심 원리화살표는 너비와 높이가 0인 요소에 두꺼운 테두리를 지정하는 방식으로 구현됩니다. 위쪽 테두리만 파란색으로 채우고 나머지 세 방향은 투명(transparent)으로 설정하면 아래를 가리키는 삼각형 모양의 화살표가 완성됩니다.예제 코드아래 코드를 실행하면 마우스 커서를 올렸을 때 하단에 화살표가 달린 툴팁이 나
웹 페이지를 아래로 스크롤해도 화면 상단에 계속 붙어 있는 내비게이션 바, 즉 스티키(sticky) 내비게이션 바를 만들려면 CSS의 position: sticky; 속성을 사용하면 됩니다. position: sticky는 평소에는 일반적인 문서 흐름대로 배치되다가, 스크롤 위치가 지정한 임계점(top, bottom 등)에 도달하면 해당 지점에 고정되는 동작 방식입니다. 참고로 이 속성이 정상적으로 작동하려면 top: 0;처럼 오프셋 값을 반드시 하나 이상 지정해야 한다는 점을 기억하세요. 예제 아래 전체 코드를 복사해 브라우저에서
CSS animation-fill-mode 속성이란?CSS에서 animation-fill-mode 속성은 애니메이션이 재생 중이 아닐 때 요소에 적용할 스타일을 지정하는 데 사용됩니다. 기본적으로 CSS 애니메이션이 시작되기 전이나 끝난 후에는 원래 상태로 돌아가는데, 이 속성을 활용하면 애니메이션의 시작 전 또는 종료 후에도 특정 키프레임의 스타일을 유지하도록 만들 수 있습니다.animation-fill-mode의 주요 값none — 기본값입니다. 애니메이션이 재생되지 않는 동안에는 어떤 스타일도 적용되지 않습니다.forwards
CSS의 :visited 선택자는 사용자가 이미 방문한 적이 있는 링크에 스타일을 적용할 때 사용하는 의사 클래스(pseudo-class)입니다. 이를 활용하면 방문 전과 후의 링크를 시각적으로 구분할 수 있어, 사용자가 어떤 페이지를 이미 확인했는지 한눈에 파악하기 쉽습니다.:visited 선택자 기본 문법기본적인 사용법은 다음과 같습니다. 링크 관련 의사 클래스는 일반적으로 LVHA 순서(:link → :visited → :hover → :active)로 작성하는 것이 권장됩니다.a:visited { color: purple
CSS에서 opacity 속성을 사용하면 요소의 배경에 투명도를 간단하게 추가할 수 있습니다. 이 속성은 0부터 1 사이의 값을 가지며, 0은 완전한 투명, 1은 완전한 불투명을 의미합니다. 값이 작아질수록 요소는 점점 더 투명하게 보입니다. 예제 아래 코드를 실행하면 서로 다른 투명도(0.2, 0.5, 1)가 적용된 세 개의 div 요소를 한눈에 비교할 수 있습니다. 구버전 Internet Explorer와의 호환성을 위해 filter: alpha(opacity=...) 구문도 함께 작성되어 있습니다. <!DOCTYPE ht