일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Button
- Flutter
- scroll
- Navigation
- binding
- activity
- drift
- Coroutines
- tabbar
- 테스트
- DART
- appbar
- textfield
- livedata
- TEST
- data
- 계측
- Compose
- Dialog
- 안드로이드
- LifeCycle
- textview
- CustomScrollView
- android
- Kotlin
- ScrollView
- viewmodel
- intent
- 앱바
- 앱
- Today
- Total
Study Record
CSS 색상과 배경을 위한 스타일 본문
웹에서 색상 표현하기
웹에서 색상을 표현하는 방법은 16진수 표기법, rgba와 rgba 표기법, hsl과 hsla 표기법, 색상 이름 표기법이 있다.
16진수 표기법
#ff0000 처럼 # 기호 다음에 6자리의 16진수로 표시하는 방법이 가장 기본적으로 색을 표현하는 방법이다.
rgb와 rgba 표기법
16진수 표기법 다음으로 rgb 와 rgba 표기법이 있다. rgba 의 a(alpha)는 불투명도 값을 나타내는 것으로 1은 완전히 불투명한 것이고 0.9 나 0.8 처럼 숫자가 작아질수록 투명해지다가 0이 되면 완전히 투명해진다.
/* 기본형 */
rgb(red 값, green 값, blue 값);
rgba(red 값, green 값, blue 값, alpha 값);
/* 예시 */
color: rgb(255, 0, 0);
color: rgba(255, 0, 0, 0.4);
hsl와 hsla 표기법
hsl 은 처례로 hue(색상), saturation(채도), lightness(밝기)를 나타낸다.
/* 기본형 */
hsl(<hue 값>, <saturation 값>, <lightness 값>)
hsla(<hue 값>, <saturation 값>, <lightness 값>, <alpha 값>)
/* 예시 */
color: hsl(360, 100%, 0%) /* 빨강 */
color: hsl(360, 100%, 0%, 0.5)
색상 이름
red 혹은 yellow 처럼 잘 알려진 색상 이름으로 표시할 수 있다. 모든 브라우저에서 표현할 수 있는 색상을 웹 안전 색상(web-safe color)라고 하는데 기본 16가지 색상을 포함해 모두 216가지이다.
color: red;
배경 색
배경색을 지정하는 방법을 설명한다.
배경 색 지정하기 - background-color 속성
배경 색을 지정하려면 background-color 속성을 사용하면 된다. 16진수 표기법, rgb(rgba) 등 색상 표기법을 속성값으로 한다.
p { background-color: red; }
배경색 스타일과 상속
배경 색(background-color) 속성은 상속되지 않는다. <body> 태그에서 배경색을 지정하면 문서에 삽입하는 요소들에도 영향을 미치지만 상속이 된 것이 아니라 웹 문서 요소의 배경이 투명하기 때문에 <body> 태그의 색상이 비치는 것 뿐이다.
배경 적용 범위 조절하기 - background-clip 속성
박스 모델 관점에서 배경 적용 범위를 조절할 수 있다. 박스 모델은 웹 요소 형태를 박스로 인식하고 테두리와 여백, 요소 사이의 간격 등을 계산하고 배치하는 방법을 말한다. border 은 테두리, padding 은 테두리와 실제 내용 사이의 거리 여백이다. 사용할 수 있는 속성 값은 다음과 같다.
- border-box : 박스 모델의 가장 가장자리 테두리(border)까지 적용한다.
- padding-box : 박스 모델에서 테두리를 뺀 패딩(padding) 범위까지 적용한다.
- content-box : 박스 모델에서 내용 부분에만 적용한다.
예시)
<style>
.b1 {background-clip: padding-box;}
.b2 {background-clip: border-box;}
.b3 {background-clip: content-box;}
.container {
width: 100px;
height: 100px;
padding: 35px;
border: 5px dotted #222;
background-color: aqua;
margin-bottom: 20px;
}
</style>
<div class="container b1"></div>
<div class="container b2"></div>
<div class="container b3"></div>
배경 이미지
배경 이미지를 적용하는 방법을 설명한다.
웹 요소에 배경 이미지 넣기 - background-image 속성
배경 이미지는 background-image 속성을 사용한다. 속성값으로는 'url("파일 경로")' 를 사용한다. 배경 이미지가 채우려는 요소의 크기보다 작을 경우, 해당 요소를 가득 채울 정도로 가로와 세로로 반복된다.
#area { background-image: url('image/bg1.png'); }
배경 이미지 반복 방법 지정하기 - background-repeat 속성
배경 이미지의 크기가 배경을 채우려는 요소보다 작을 경우, 기본적으로 반복해 표시된다. background-repeat 속성을 사용하면 배경 이미지를 반복하지 않게 할 수도 있고 반복하더라도 가로 반복이나 세로 반복 등 반복 방향을 지정할 수 있다. 속성 값은 다음과 같다.
- repeat : 브라우저 화면에 가득 찰 때까지 배경 이미지를 가로와 세로로 반복한다. 기본값이다.
- repeat-x : 브라우저 창 너머와 같아질 때까지 배경 이미지를 가로로 반복한다.
- repeat-y : 브라우저 창 높이와 같아질 때까지 배경 이미지를 세로로 반복한다.
- no-repeat : 배경 이미지를 한 번만 표시하고 반복하지 않는다.
.bg { background-repeat: no-repeat; }
배경 이미지 크기 조절하기 - background-size 속성
background-size 속성으로 배경 이미지의 크기를 조절할 수 있다. 크기를 조절할 때 사용할 수 있는 속성 값은 다음과 같다.
- auto : 원래 배경 이미지 크기만큼 표시된다.
- contain : 요소 안에 배경 이미지가 다 들어오도록 이미지를 확대/축소한다. 이미지가 요소보다 작을 경우 남는 공간이 생길 수 있다.(background-repeat: no-repeat; 일 경우)
- cover : 배경 이미지로 요소를 모두 덮도록 이미지를 확대/축소한다. 요소를 모두 덮는다.
- <크기 값> : 너비 값과 높이 값을 지정한다. 너비 값만 지정할 경우 원래 배경 이미지 크기를 기준으로 자동으로 계산된다.
- <백분율> : 배경 이미지가 들어갈 요소의 크기를 기준으로 백분율 값을 지정하고 크기에 맞도록 배경 이미지를 확대/축소한다.
예시)
.b1 { background-size: auto; }
.b2 { background-size: 100px 200px; } /* 너비 = 100px, 높이 = 200px */
.b3 { background-size: 60% 40%; } /* 가로 = 60%, 세로 = 40% */
.b4 { background-size: contain; }
.b5 { background-size: cover; }
배경 이미지 위치 조절하기 - background-position 속성
배경 이미지가 표시되는 위치를 조절할 수 있다.
/* 기본형 */
background-position: <수평 위치> <수직 위치>;
/*
<수평 위치> : left | center | right | <백분율> | <길이 값>
<수직 위치> : top | center | bottom | <백분율> | <길이 값>
*/
수평 위치나 수직 위치 중 하나만 지정할 경우 그 값은 수평 위치 값으로 간주하고 수직 위치 값은 50% 나 center 로 간주한다.
background-position 속성 값을 두 개 지정한다면 앞은 수평 위치 값이 되고 뒤의 값은 수직 위치가 된다.
키워드 표시법
배경 이미지의 위치를 지정할 때 가장 많이 사용하는 속성값은 키워드이다. 수평위치로 left, center, right 를 사용할 수 있고 수직 값으로 top, center, bottom 값을 사용할 수 있다. 수평과 수직 값이 전부 center 일 경우 background-position: center; 로 줄여 쓸 수 있다.
.b1 { background-position: center; }
.b1 { background-position: center top; }
백분율(%) 표시법
해당 위치에 배경 이미지의 위치를 백분율로 맞춘다. background-position: 0% 0%; 라면 배경 이미지를 넣으려는 요소의 왼쪽 모서리에 배경 이미지의 왼쪽 모서리를 맞춘다. background-position: 30% 60%; 라면 배경 이미지를 넣으려는 요소의 왼쪽 모서리로부터 가로 30%, 세로 60% 의 위치에 배경 이미지를 맞춘다.
.b1 { background-position: 50% 50%; }
길이(px) 표시법
배경 이미지의 위치를 픽셀 값으로 지정할 수 있다. background-position: 20px 30px; 일 경우, 가로 20px, 세로 30px 인 지점에 배경 이미지를 맞춘다.
#b1 { background-position: 20px 60px; }
+ background-size: cover; 일 경우 background-position 같이 사용하기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.container {
width: 250px;
height: 200px;
margin-bottom: 20px;
background-image: url('https://cdn.pixabay.com/photo/2022/08/30/15/08/palace-7421313_1280.jpg');
background-size: cover;
background-repeat: no-repeat;
}
.b1 {
background-position: left bottom;
}
.b4 {
background-position: center top;
}
</style>
</head>
<body>
<div class="container b1"></div>
<div class="container b4"></div>
</body>
</html>
배경 이미지 배치할 기준 조절하기 - background-origin 속성
background-position 속성을 이용해 배경 이미지를 배치할 때 기준을 지정하는 것이 background-origin 속성이다. 속성 값으로는 다음과 같다.
- border-box : 박스 모델의 가장 가장자리인 테두리(border)가 기준이 된다.
- padding-box : 박스 모델에서 테두리를 뺀 패딩(padding)이 기준이 된다.
- content-box : 박스 모델에서 내용 부분이 기준이 된다.
#b1 { background-origin: content-box; }
배경 이미지 고정하기 - background-attachment 속성
스크롤을 내렸을 때 배경 이미지를 고정할수도 있고 함께 이동할 수도 있다. 이것을 background-attachment 속성으로 지정할 수 있다. 속성값은 scroll 과 fixed 값이 있다. scroll 값은 화면 스크롤과 함께 배경 이미지도 스크롤된다. fixed 값은 화면이 스크롤되더라도 배경 이미지는 고정된다.
.b1 { background-attachment: scroll; }
속성 하나로 배경 이미지 제어하기 - background 속성
배경 이미지 관련 속성을 background 라는 하나의 속성으로 줄여 사용할 수 있다.
/* 축약형 - 값이 다르므로 순서는 상관없다.*/
.b1 {background: url('image.png') no-repeat fixed right bottom; }
/* 축약형을 사용하지 않을 경우*/
.b1 {
background-image: url('image.png');
background-repeat: no-repeat;
background-attachment: fixed;
background-position: right bottom;
}
+ background-size 속성은 따로 사용해야 한다.
'웹 > HTML + CSS' 카테고리의 다른 글
CSS 레이아웃을 위한 스타일 (0) | 2025.02.18 |
---|---|
CSS 배경 그라데이션 효과 (0) | 2025.02.17 |
CSS 목록과 링크 스타일 (4) | 2025.02.16 |
CSS 텍스트 스타일 (0) | 2025.02.16 |
CSS 글꼴 관련 스타일 (0) | 2025.02.13 |