본문 바로가기
Web Front/HTML + CSS + 자바스크립트

[CSS] 이미지와 그라데이션 효과로 배경 꾸미기

by k-mozzi 2022. 7. 28.
반응형
Preface

 

이번 장에선 배경색과 배경 이미지를 지정하는 방법과 그라데이션 효과를 사용하는 방법을 공부했다.

 

지난 장의 마지막 부분에서 배경 이미지를 사용한 예제를 수정할 때 마음대로 되지 않는 부분이 있었는데,

 

background 속성을 배운 후 다시 보니 쉽게 문제를 해결할 수 있었다.

 

아, 그리고 같이 공부하는 친구와 블로그 스킨에 대해 이야기하던 도중 며칠 전 공부한 웹 폰트가 생각나 친구의 블로그 헤더 부분의 글씨체를 바꿔줬다.


 

1. 배경색과 배경 범위 지정하기

 

 

- background-color 속성: 배경색을 지정한다.

→ 상속되지 않는다.

 

 

- background-clip: 배경색의 적용 범위를 조절한다.

1) border-box: 박스 모델의 가장 외곽인 테두리까지 적용한다. (기본값)

2) padding-box: 박스 모델에서 테두리를 뺀 패딩 범위까지 적용한다.

3) content-box: 박스 모델에서 내용(콘텐츠) 부분에만 적용한다.

 


 

2. 배경 이미지 지정하기

 

 

- background-image 속성: 웹 요소에 배경 이미지를 넣는다.

→ 파일 경로는 현재 웹 문서를 기준으로 상대 경로를 지정할 수도 있고 http://로 시작하는 절대 경로를 사용할 수도 있다.

background-image: url('이미지 파일 경로')

 

 

- background-repeat 속성: 배경 이미지의 반복 방법을 지정한다.

1) repeat: 브라우저 화면에 가득 찰 때까지 가로와 세로로 반복한다. (기본값)

2) repeat-x: 브라우저 화면 너비에 가득 찰 때까지 가로로 반복한다.

3) repeat-y: 브라우저 화면 높이에 가득 찰 때까지 세로로 반복한다.

4) no-repeat: 한 번만 표시하고 반복하지 않는다.

 

 

- background-position 속성: 배경 이미지의 위치를 조절한다.

1) 수평 위치: left, center, right, 백분율, 길이 값

2) 수직 위치: top, center, botton, 백분율, 길이 값

3) 속성값을 2개로 지정하면 첫 번째 값은 수평 위치의 값이 되고, 두 번째 값은 수직 위치의 값이 된다.

4) 속성값을 하나만 지정하면 지정한 값을 수평 위칫값으로 간주하고, 수직 위칫값은 center로 간주한다.

background-position: <수평 위치> <수직 위치>;

 

 

- background-origin 속성: 배경 이미지의 적용 범위를 조절한다.

1) content-box: 박스 모델에서 내용 부분에만 배경 이미지를 표시한다. (기본값)

2) padding-box: 박스 모델에서 패딩까지 배경 이미지를 표시한다.

3) border-box: 박스 모델에서 테두리까지 배경 이미지를 표시한다.

 

 

- background-attachment 속성: 배경 이미지를 고정한다.

1) scroll: 화면을 스크롤하면 배경 이미지도 스크롤된다. (기본값)

2) fixed: 화면을 스크롤하면 배경 이미지는 고정되고 내용만 스크롤된다.

 

 

- background 속성: 배경 이미지와 관련된 속성을 하나의 속성으로 줄여 사용할 수 있다.

 

 

- background-size 속성: 배경 이미지 크기를 조절한다.

→ 속성값이 하나일 땐 그 값을 너비로 인식하고, 높이는 원래 이미지의 너비와 높이 비율에 따라 자동 계산한다.

1) auto: 원래 배경 이미지 크기만큼 표시한다. (기본값)

2) contain: 요소 안에 배경 이미지가 다 들어오도록 이미지를 확대/축소한다.

3) cover: 배경 이미지로 요소를 모두 덮도록 이미지를 확대/축소한다.

4) 크기: 이미지의 너비와 높이를 지정한다.

5) 백분율: 배경 이미지가 들어갈 요소의 크기를 기준으로 값을 지정한다.

 


 

3. 그라데이션 효과로 배경 꾸미기

 

 

- 선형 그라데이션: 색상이 수직, 수평 또는 대각선 방향으로 일정하게 변하는 것

→ linear-gradient 함수를 사용한다.

 

 

- 방향

1) 끝 지점을 기준으로 to 예약어와 함께 사용한다. (예약어 최대 2개까지 사용 가능)

2) 예약어 종류: left, right, top, bottom

3) 위치나 각도 옵션을 생략하면 to bottom으로 인식한다.

 

 

- 각도: 그라데이션이 끝나는 부분이고 값은 deg로 표기한다.

 

 

- 색상 중지점: 그라데이션에서 바뀌는 색

→ 쉼표로 색상을 구분하는데, 중지점의 위치도 함께 지정할 수 있다.

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <title>선형 그러데이션</title>
  <style>
		div {
			width:500px;
			height:300px;
			margin: 0 auto;
		}
  	.grad {
  		background: #06f; /* css3를 지원하지 않는 브라우저용 */
  		background: linear-gradient(to bottom, #06f, white 30%, rgb(102, 196, 35));  /* 위에서부터 30% 위치에 색상 중지점 지정 */
  	}
  </style>
</head>
<body>
  <div class="grad"></div>
</body>
</html>

 

 

- 원형 그라데이션: 원 또는 타원의 중심에서부터 동심원을 그리며 바깥 방향으로 색상이 바뀐다.

1) 모양: 원형(circle), 타원형(ellipse: 기본값)

2) 크기

① closest-side

② closest-corner

③ farthest-side

④ farthest-corner: 기본값

3) 위치: at 키워드와 함께 지정하면 그라데이션이 시작하는 원의 중심을 다르게 나타낼 수 있다.

→ 키워드나 백분율을 사용하며, 생략하면 가로와 세로 모두 center로 인식한다.

 

 

- 그라데이션을 사용한 패턴 만들기

1) repeating-linear-gradient: 선형 그라데이션을 반복한다.

2) repeating-radial-gradient: 원형 그라데이션을 반복한다.

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <title>원형 그러데이션 반복</title>
  <style>
		div {
			width:500px;
      height:300px;
      border:1px solid #222;
			border-radius:10px;
      margin-bottom:30px;
		}
		.grad1 {
			background: red; 
			background: repeating-linear-gradient(yellow, yellow 20px, red 20px, red 40px); 
		}
		.grad2 {
			background: #ccc; 
			background: repeating-radial-gradient(circle, white, white 10%, #ccc 10%, #ccc 20%); 
		}
  </style>
</head>
<body>
  <div class="grad1"></div>
  <div class="grad2"></div>
</body>
</html>

 

728x90
반응형

댓글