EverGiver
background 속성 본문
728x90
배경색을 지정하는 background-color 속성
- 16진수나 rbg값 또는 색상 이름을 사용해서 지정
background-color: #008000;
background-color: rgb(0,128,0);
background-color: green;
- 글꼴이나 글자 크기 등은 <body> 태그 선택자에서 지정하면 문서 전체에 상속된다. 하지만 background-color 값은 상속되지 않는다.
(기본적으로 모든 웹 문서 요소의 배경은 투명하므로 body 스타일로 지정한 문서 배경이 그대로 비치는 것일 뿐 웹 요소에 배경색이 상속된 것은 아니다.)
배경색의 적용 범위를 조절하는 background-clip 속성
- 배경을 넣고 싶은 요소마다 속성을 입력하면 되지만 박스 모델 관점에서 배경의 적용 범위를 조절할 수도 있다.
종류 | 설명 |
border-box | 박스 모델의 가장 외곽인 테두리까지 적용한다. (기본값) |
padding-box | 박스 모델에서 테두리를 뺀 패딩 범위까지 적용한다. |
content-box | 박스 모델에서 내용(콘텐츠) 부분에만 적용한다. |
웹 요소에 배경 이미지를 넣는 background-image 속성
- url( )에 이미지 파일 경로를 넣어서 사용한다.
background-image: url('이미지 파일 경로')
- 파일 경로는 현대 웹 문서를 기준으로 상대 경로를 지정할 수도 있고 http://로 시작하는 절대 경로를 사용할 수도 있다.
- 배경을 넣을 때 요소보다 이미지 크기가 작으면 이미지가 가로와 세로로 반복되면서 요소의 배경을 가득 채운다.
배경 이미지의 반복 방법을 지정하는 background-repeat 속성
- 배경 이미지를 가로와 세로 중에서 어떤 방향으로 반복할지 지정하거나, 반복하지 않고 한 번만 나타나게 할 수도 있다.
종류 | 설명 |
repeat | 브라우저 화면에 가득 찰 때까지 가로와 세로로 반복한다. (기본값) |
repeat-x | 브라우저 화면 너비에 가득 찰 때까지 가로로 반복한다. |
repeat-y | 브라우저 화면 높이에 가득 찰 때까지 세로로 반복한다. |
no-repeat | 한 번만 표시하고 반복하지 않는다. |
배경 이미지의 위치를 조절하는 background-position 속성
- 배경 이미지의 수평 위치 또는 수직 위치의 값을 지정할 수 있다.
background-position: <수평 위치> <수직 위치>;
수평 위치: left ¦ center ¦ right ¦ <백분율> ¦ <길이 값>
수직 위치: top ¦ center ¦ bottom ¦ <백분율> ¦ <길이 값>
- 속성 값을 하나만 지정하면 웹 브라우저에서는 지정한 값을 수평 위칫값으로 간주하고, 수직 위치 값은 50%나 center로 간주한다.
- 배경 이미지의 위치를 지정하는 3가지 방법
- 키워드
▷ 가장 많이 사용한 속성값
▷ 수평 위치는 left, center, right 중에서 선택할 수 있고 수직 위치는 top, bottom, center 중에서 선택한다.
- 백분율 (%)
▷ 요소가 있는 해당 위치에 배경 이미지의 위치를 백분율로 계산하여 맞춘다는 의미이다.
- 크기
▷ 길이로 직접 지정한다.
배경 이미지의 적용 범위를 조절하는 background-origin 속성
- 박스 모델에 패딩이나 테두리가 있다면 배경 이미지를 패딩까지 표시하거나 테두리까지 포함해서 표시할 수도 있다.
종류 | 설명 |
content-box | 박스 모델에서 내용 부분에만 배경 이미지를 표시한다. (기본값) |
padding-box | 박스 모델에서 패딩까지 배경 이미지를 표시한다. |
border-box | 박스 모델에서 테두리까지 배경 이미지를 표시한다. |
배경 이미지를 고정하는 background-attachment 속성
- 배경 이미지가 있는 웹 문서를 웹 브라우저에서 열고 스크롤 막대를 위아래로 조절하면 문서 전체가 움직이므로 배경 이미지도 함께 이동한다.
종류 | 설명 |
scroll | 화면을 스크롤하면 배경 이미지도 스크롤된다. (기본값) |
fixed | 화면을 스크롤하면 배경 이미지는 고정되고 내용만 스크롤된다. |
background 속성 하나로 배경 이미지 제어하기
body{
background-image: url('images/bg4.png');
background-repeat: no-repeat;
background-position: center bottom;
background-attachment: fixed;
}
background: url('images/bg4.png') no-repeat center bottom fixed;
배경 이미지 크기를 조절하는 background-size 속성
- 배경 이미지의 크기를 조절할 수 있다.
- 속성 값이 하나라면 그 값은 너비로 인식하고 높이는 원래 이미지의 너비와 높이 비율에 따라 자동 계산한다.
종류 | 설명 |
auto | 원래 배경 이미지 크기만큼 표시합니다. (기본값) |
contain | 요소 안에 배경 이미지가 다 들어오도록 이미지를 확대/축소한다. |
cover | 배경 이미지로 요소를 모두 덮도록 이미지를 확대/축소한다. |
<크기> | 이미지의 너비와 높이를 지정한다. 값이 하나만 주어질 경우 너빗값으로 인식하며, 이미지의 너비와 너빗값에 맞춘 높잇값도 자동 계산한다. |
<백분율> | 배경 이미지가 들어가 요소의 크기를 기준으로 값을 백분율로 지정하고 그 크기에 맞도록 배경 이미지를 확대/축소합니다. |
기타
- background-image와 <image> 태그의 차이점
1. img태그는 html태그, background-image는 css속성
- css속성은 html태그를 꾸며주는 속성
(html태그가 없으면 사용할 수 없다.)
2. css속성이기 때문에 할 수 있는 게 있다.
- img태그는 그 하나로 완성되어 있는 형태이기 때문에 css효과를 줄 수가 없다. 하지만 직접 타이핑한 글자는 css 효과를 줄 수가 있기 때문에 다양한 연출이 가능하며, background-image는 배경이기 때문에 글자와 함께 사용이 가능하다.
3. background-image는 css속성이다.
- hover 구문과 같은 조건 동작 구문과 함께 사용해서 다양한 연출이 가능하다.
- <img> 태그는 html태그이기 때문에 hover구문에 들어갈 수 없다.
4. <img> 태그는 크기를 조절해주면 이미지가 왜곡이 되는 한이 있더라도 이미지 전체는 다 보인다.
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>background #1</title> <style> *{margin:0;padding:0;} #a{width:1200px;height:607px; background-image:url("img/1.jpg"); color:white;text-align:center; line-height:607px;font-size:50px; background-repeat:no-repeat; background-size:1200px 607px;} img{width:1200px;} #a:hover{background-image:url(img/2.jpg);} </style> </head> <body> <div id="a">사자그림 입니다.</div> <img src="img/1.jpg" alt=""> </body> </html>
- background-image 단점
: background-image는 태그의 길이를 사진의 원본 크기보다 키워주면 이미지가 반복되는 현상이 있다.
(반대로 작으면 이미지가 잘리는 현상이 있다) - background-image 특징
1. background-repeat:no-repeat
: background-image는 이미지가 반복되는 현상이 기본값으로 잡혀있는데 해당 구문을 넣어주면 이미지 반복을 없애줄 수 있다. (대신 길이가 그만큼 텅 비어버릴 수 있다)
2. background-size
: background-image전용 사이즈를 조절해주는 css구문
- 사용방법
{background-size:가로 값 세로 값;}
- 활용
: 100% 이미지의 비율을 유지하면서 잘리는 한이 있더라도 내가 선택한 태그에 딱 공간을 차지하는 크기로 바꿔주고 싶을 때
3. background-position
: background-image를 태그 안에서 움직이게 해주는 구문
- 사용방법
{background-position:가로 값 세로 값;}
- 특징
(1) 가로 값에 -를 주면 왼쪽으로 이미지가 이동 / +를 주면 오른쪽으로 이동
(2) 세로 값에 -를 주면 위로 이동 / +를 주면 아래로 이동
→ 포토샵 클리핑 마스크랑 똑같은 역할을 한다.
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>background #2</title> <style> *{margin:0;padding:0;} #a{width:500px;height:607px; background-image:url(img/1.jpg); background-position:-400px 0px;} img{width:300px;height:800px;} </style> </head> <body> <div id="a"></div> <img src="img/1.jpg"> </body> </html>
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8"> <title>background #3</title> <style> *{margin:0;padding:0;} #a{width:1800px;height:500px; /*background-image:url(img/3.jpg);*/ background:url("img/3.jpg") fixed; margin:0 auto; margin-top:500px; /*background-attachment:fixed*/} #scroll{height:4000px;} </style> </head> <body> <div id="a"></div> <div id="scroll"></div> </body> </html>
728x90
'Front-End (웹) > CSS' 카테고리의 다른 글
여백 계산법 (0) | 2021.07.28 |
---|---|
float 속성 (0) | 2021.07.28 |
중앙정렬 (0) | 2021.07.23 |
박스 모델과 CSS 속성 (0) | 2021.07.22 |
display 속성 (0) | 2021.07.21 |
Comments