Home

HTML과 CSS에서 색상 다루는 완벽 가이드 color와 background-color 속성 마스터하기

Published in html_css
December 12, 2025
3 min read
HTML과 CSS에서 색상 다루는 완벽 가이드 color와 background-color 속성 마스터하기

안녕하세요, 코딩하는곰입니다! 웹 개발을 시작하면서 가장 먼저 접하게 되는 것 중 하나가 바로 색상 설정일 텐데요. HTML과 CSS에서 색상을 표현하고 적용하는 방법은 생각보다 다양합니다. 오늘은 colorbackground-color 속성을 중심으로, 웹에서 색상을 다루는 모든 기본기와 실무 팁을 20년 경력의 개발자 관점에서 깊이 있게 풀어보겠습니다. 단순히 색을 넣는 법을 넘어, 효율적이고 접근성 좋은 디자인을 위한 핵심을 배워보세요.

색상의 기본: colorbackground-color 속성 이해하기

CSS에서 텍스트와 배경의 색상을 지정하는 핵심 속성은 각각 colorbackground-color입니다. 이 두 속성은 웹 페이지의 시각적 계층과 가독성을 결정하는 가장 기본적이면서도 중요한 요소죠.

  • color 속성: 요소의 전경색(foreground color)을 지정합니다. 주로 텍스트의 색상을 정의하는 데 사용되지만, text-decoration(밑줄 등)이나 border-color(기본값으로 상속되는 경우) 등에도 영향을 미칠 수 있습니다.
  • background-color 속성: 요소의 배경색(background color)을 지정합니다. 해당 요소의 콘텐츠 영역과 패딩(padding) 영역까지 채우는 색상을 정의합니다. 이 두 속성을 사용하는 기본 문법은 매우 간단합니다.
selector {
color: [색상값];
background-color: [색상값];
}

예를 들어, 제목을 빨간색 텍스트에 노란 배경으로 만들고 싶다면 다음과 같이 작성할 수 있습니다.

h1 {
color: red;
background-color: yellow;
}

그런데 여기서 [색상값]을 표현하는 방법이 단순히 ‘red’, ‘yellow’ 같은 이름만 있는 것이 아닙니다. 웹 표준은 다양한 색상 표현 방식을 지원하며, 각각의 장단점과 사용처가 있습니다. 이제 그 다양한 방법들을 하나씩 파헤쳐 보겠습니다.

HTML과 CSS에서 색상 다루는 완벽 가이드 color와 background-color 속성 마스터하기
HTML과 CSS에서 색상 다루는 완벽 가이드 color와 background-color 속성 마스터하기


📊 데이터 분석과 프로그래밍에 관심이 있다면, (자바스크립트 마스터하기) 형 변환의 모든 것 암시적 vs 명시적 변환 완벽 가이드를 참고해보세요.

색상을 표현하는 6가지 주요 방법 (HEX, RGB, RGBA, HSL, HSLA, 이름)

1. 색상 이름 (Color Keywords)

CSS에서 미리 정의된 140여 개의 색상 이름을 사용하는 방법입니다. red, blue, green, cornflowerblue, papayawhip 등이 있으며, 직관적이고 기억하기 쉽다는 장점이 있습니다. 하지만 표현할 수 있는 색상의 범위가 제한적이고, 디자이너와의 협업 시 정확한 색상을 지정하기 어렵다는 단점이 있습니다. 프로젝트初期나 프로토타이핑 때 유용하지만, 대규모 프로젝트에서는 다른 방식을 권장합니다.

.by-keyword {
color: darkcyan;
background-color: lavenderblush;
}

2. 16진수 색상 코드 (HEX Code)

가장 널리 사용되는 방식으로, # 뒤에 6자리(또는 3자리)의 16진수 숫자로 색상을 표현합니다. 형식은 #RRGGBB입니다.

  • RR: 빨강(Red)의 강도 (00~FF)
  • GG: 초록(Green)의 강도 (00~FF)
  • BB: 파랑(Blue)의 강도 (00~FF) #000000은 검정, #FFFFFF는 흰색, #FF0000은 순수한 빨강입니다. 각 채널을 00부터 FF(255)까지의 값으로 표현할 수 있어 총 16,777,216(256^3)가지 색상을 표현 가능합니다. 3자리 축약형(#RGB)도 가능한데, #F00#FF0000과 같습니다. 디자인 툴(피그마, 포토샵 등)에서 추출한 색상값이 대부분 HEX 형식이므로 실무에서의 호환성이 뛰어납니다.
.by-hex {
color: #1a73e8; /* 구글 블루 */
background-color: #34a853; /* 구글 그린 */
}

3. RGB & RGBA

빨강, 초록, 파랑의 광원 삼원색을 조합하여 색을 표현하는 방식입니다. rgb() 함수형으로 사용합니다.

  • RGB: rgb(red, green, blue)
    • 각 매개변수는 0~255 사이의 정수 또는 0%~100% 사이의 백분율입니다.
    • rgb(255, 0, 0)은 빨강, rgb(0, 255, 0)은 초록입니다.
  • RGBA: RGB에 투명도(Alpha 채널)를 추가한 것입니다. rgba(red, green, blue, alpha)
    • alpha 값은 0(완전 투명)부터 1(완전 불투명) 사이의 소수입니다.
    • 투명도(Transparency) 구현의 핵심입니다. 배경 위에 반투명 레이어를 깔거나, 호버 효과를 부드럽게 줄 때 필수적으로 사용됩니다.
.by-rgb {
color: rgb(66, 133, 244);
background-color: rgb(255, 255, 255);
}
.by-rgba {
/* 반투명한 검정 배경 (어두운 오버레이 효과) */
background-color: rgba(0, 0, 0, 0.5);
color: rgba(255, 255, 255, 0.9);
}

4. HSL & HSLA

색상(Hue), 채도(Saturation), 명도(Lightness)의 세 가지 값을 조절하여 색을 표현하는 방식입니다. 디자이너가 색상을 직관적으로 조정하기에 매우 유용합니다.

  • HSL: hsl(hue, saturation, lightness)
    • hue: 색상환 상의 각도 (0~360). 0=빨강, 120=초록, 240=파랑.
    • saturation: 채도 (0%~100%). 0%는 회색톤, 100%는 순색.
    • lightness: 명도 (0%~100%). 0%는 검정, 100%는 흰색, 50%는 일반 색상.
  • HSLA: HSL에 투명도(Alpha)를 추가한 것입니다. hsla(hue, saturation, lightness, alpha) HSL의 가장 큰 장점은 색조 통일성을 유지하며 명도와 채도를 쉽게 조절할 수 있다는 점입니다. 예를 들어, 기본 색상(hsl(200, 100%, 50%))에서 명도만 높여 연한 버전(hsl(200, 100%, 80%))을, 명도를 낮춰 어두운 버전(hsl(200, 100%, 20%))을 쉽게 생성할 수 있습니다. 이는 디자인 시스템의 색상 팔레트를 구성할 때 매우 강력한 도구가 됩니다.
.by-hsl {
/* 밝은 파란색 */
color: hsl(210, 100%, 50%);
}
.by-hsla {
/* 채도가 낮고 반투명한 녹색 */
background-color: hsla(120, 60%, 70%, 0.7);
}

HTML과 CSS에서 색상 다루는 완벽 가이드 color와 background-color 속성 마스터하기
HTML과 CSS에서 색상 다루는 완벽 가이드 color와 background-color 속성 마스터하기


회원가입이나 비밀번호 변경 시 안전한 비밀번호를 빠르게 생성할 수 있는 온라인 도구가 유용합니다.

실무 적용 팁과 고급 기법

색상 표현법 선택 가이드

  • 일반적인 상황/디자인 툴 연동: HEX 코드를 가장 많이 사용합니다. 보편성과 정확성이 뛰어납니다.
  • 투명도가 필요할 때: RGBA 또는 HSLA를 사용합니다.
  • 색조를 유지한 채 변형 색이 필요할 때 (디자인 시스템): HSL/HSLA가 압도적으로 유리합니다. CSS 변수(Custom Properties)와 결합하면 더욱 강력해집니다.
  • 프로토타이핑/간단한 스타일: 색상 이름을 사용해도 무방합니다.

CSS 변수와의 결합으로 생산성 극대화

현대적인 CSS 작성법의 핵심은 재사용성입니다. 색상값을 CSS 변수(Custom Properties)로 정의해두면 유지보수가 편해지고 일관성이 보장됩니다.

:root {
--primary-color: #1a73e8;
--primary-light: hsl(210, 100%, 80%);
--primary-dark: hsl(210, 100%, 20%);
--background-overlay: rgba(0, 0, 0, 0.6);
--text-color: #202124;
--surface-color: #ffffff;
}
.header {
background-color: var(--primary-color);
color: var(--surface-color);
}
.card {
background-color: var(--surface-color);
color: var(--text-color);
border: 1px solid var(--primary-light);
}
.modal-backdrop {
background-color: var(--background-overlay);
}

웹 접근성(WAI-ARIA)을 고려한 색상 사용법

색상만으로 정보를 전달해서는 안 됩니다. “빨간색 텍스트 = 오류”라고 할 때, 색맹 사용자는 이를 인지하지 못할 수 있습니다. 반드시 텍스트, 아이콘, 패턴 등 다른 시각적 단서를 함께 제공해야 합니다. 가장 중요한 것은 명도 대비(Contrast Ratio)입니다. WCAG(Web Content Accessibility Guidelines) 가이드라인은 텍스트와 배경색 사이에 최소 대비율을 규정합니다.

  • 일반 텍스트: 4.5 : 1 이상
  • 큰 텍스트(24px 이상 또는 굵은 18.5px 이상): 3 : 1 이상 온라인 대비 검사 도구(WebAIM Contrast Checker 등)를 활용해 꼭 확인하세요. background-color: #eeeeee;color: #ffffff;를 쓰면 대비가 너무 낮아 읽기 힘듭니다.

성능과 최신 문법

  • 투명도: rgba()hsla() 대신 새로운 rgb()hsl() 문법도 슬래시(/)를 사용해 투명도를 표현할 수 있습니다. rgb(255 0 0 / 0.5) (IE 지원 안 함)
  • currentcolor 키워드: 요소의 현재 color 속성값을 참조합니다. borderbox-shadow에 동일한 색상을 적용할 때 유용합니다.
.button {
color: var(--primary-color);
border: 2px solid currentcolor; /* border 색상이 color를 따라감 */
box-shadow: 0 0 5px currentcolor;
}

HTML과 CSS에서 색상 다루는 완벽 가이드 color와 background-color 속성 마스터하기
HTML과 CSS에서 색상 다루는 완벽 가이드 color와 background-color 속성 마스터하기


로또 번호를 과학적으로 접근하고 싶다면, AI 분석과 통계 기반 번호 추천 앱 지니로또AI가 최적의 도구입니다.

정리하자면, HTML과 CSS에서 색상을 다루는 것은 colorbackground-color 속성에 다양한 값(HEX, RGB, RGBA, HSL, HSLA, 이름)을 할당하는 것으로 시작합니다. 하지만 진짜 실력은 이 기본기를 바탕으로 디자인 시스템을 효율적으로 구축하는 방법, CSS 변수를 활용한 유지보수성 향상, 그리고 모든 사용자를 배려하는 웹 접근성 기준 준수에 있습니다. 오늘 소개한 내용이 여러분의 프로젝트에 생동감 있는 색상을 입히고, 더 나아가 견고하고 아름다운 디자인 기반을 마련하는 데 도움이 되었으면 좋겠습니다. 다음 시간에는 이 색상들을 활용한 그라데이션과 그림자 효과에 대해更深이 파고들어 보겠습니다. 질문은 댓글로 남겨주세요! 코딩하는곰이었습니다. 감사합니다.

집중력과 논리적 사고력을 기르고 싶다면, 클래식, 데일리, 스토리 모드가 있는 스도쿠 저니를 설치해보세요.









최상의 건강을 위한 영양가득한 식품과 정보! life-plus.co.kr 바로가기
최상의 건강을 위한 영양가득한 식품과 정보! life-plus.co.kr 바로가기



다채로운 문화축제와 공연 소식을 공유하는 블로그! culturestage.co.kr 바로가기
다채로운 문화축제와 공연 소식을 공유하는 블로그! culturestage.co.kr 바로가기



비트코인 세계로의 첫걸음! 지금 가입하고 거래 수수료 할인 혜택 받으세요! bitget.com 바로가기
비트코인 세계로의 첫걸음! 지금 가입하고 거래 수수료 할인 혜택 받으세요! bitget.com 바로가기




Tags

#developer#coding#html_css

Share

Previous Article
(MySQL/MariaDB 실무 튜닝) 서브쿼리보다 JOIN이 더 빠른 진짜 이유, 실행 계획으로 깊이 파헤치기

Related Posts

(HTML/CSS 기초부터 실전까지) 글자 크기(font-size)와 두께(font-weight) 완벽 가이드 - 가독성과 SEO를 높이는 법
December 27, 2025
4 min