Frontend/CSS

CSS background

개발자의 첫 걸음 2025. 10. 28. 10:00

안녕하세요. 오늘은 배경색과 배경범위를 지정하는 background에 대해 알아볼게요.

 

 

 

CSS background

 

웹 문서의 전체 배경뿐만 아니라 텍스트, 목록 등 특정한 요소에도 배경 지정이 가능해요.

 

 

background-color 속성

 

배경색 지정으로 16진수 or rgb값 또는 색상 이름 사용으로

 

세밀한 조절(16진수) 투명도 조절(rgba)을 할 수 있어요.

/*기본형*/
background-color: #000000;
background-color: rgb(0, 128, 0);
background-color: green;

background-color는 상속되지않고 기본적으로 웹 문서 요소의 배경색은 투명이에요.

 

( ≠ 글꼴, 글자 크기는 하위 요소에서 스타일을 수정하지 않는 한 상속)

 

 

 

background-clip 속성

 

배경색의 적용 범위 조절로 박스 모델에서 테두리, 패팅, 콘텐츠 영역까지 배경색 지정이 가능해요.

 

다음은 background-clip 속성값과 예제예요.

 

border-box 박스 모델의 가장 외곽인 테두리까지 적용 : 기본값
padding-box 박스 모델에서 테두리를 뺀 패딩 범위까지 적용
content-box 박스 모델에서 내용(콘텐츠) 부분에만 적용

 

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <title>상품 소개 페이지</title>
  <style>
    .desc {
      border:5px dotted #222;
      background-color:#ffd9a0;
      width:350px;
      padding:20px;
      margin-right:20px;
      float:left;
    }
    #clip-border {
      background-clip: border-box;
    }
    #clip-padding {
      background-clip: padding-box;
    }
    #clip-content {
      background-clip: content-box;
    }
  </style>
</head>
<body>
  <div id="container">
    <div class="desc" id="clip-border">
      <h1>롯데자이언츠</h1>
      <p>2023.04.11 <b>사직야구장</b>에서 엘지 트윈스와의 시즌 첫 맞대결이 열린다.</p>
      <p>롯데 자이언츠의 선발은 <em>반즈</em>선수로<br>롯데의 외인 투수이다.</p>
    </div>
    <div class="desc" id="clip-padding">
      <h1>롯데자이언츠</h1>
      <p>2023.04.11 <b>사직야구장</b>에서 엘지 트윈스와의 시즌 첫 맞대결이 열린다.</p>
      <p>롯데 자이언츠의 선발은 <em>반즈</em>선수로<br>롯데의 외인 투수이다.</p>
    </div>
    <div class="desc" id="clip-content">
      <h1>롯데자이언츠</h1>
      <p>2023.04.11 <b>사직야구장</b>에서 엘지 트윈스와의 시즌 첫 맞대결이 열린다.</p>
      <p>롯데 자이언츠의 선발은 <em>반즈</em>선수로<br>롯데의 외인 투수이다.</p>
    </div>        
  </div>
</body>
</html>

 

 

배경 이미지 지정하기: background-image 속성

 

웹 요소에 배경 이미지 삽입을 할 수 있어 url()에 이미지 파일 경로를 삽입해서 사용이 가능해요.

/*기본형*/
backgroung-image: url('이미지 파일 경로')

 

 

다음은 background-image 속성 예제예요.

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <title>배경 이미지</title>
  <style>
    body {
      background-image :url('../images/css\ 로고.png');
    }
  </style>
</head>
<body>
  
</body>
</html>

 

 

background-repeat 속성

 

배경 이미지의 반복방법을 지정으로

 

가로와 세로 중에서 어떤 방향으로 반복할지 지정하거나반복하지 않고 한 번만 삽입이 가능해요.

 

종류 설명
repeat 브라우저 화면에 가득 찰 때까지 가로와 세로로 반복 : 기본값
repeat-x 브라우저 화면 너비에 가득 찰 때까지 가로로 반복
repeat-y 브라우저 화면 너비에 가득 찰 때까지 세로로 반복
no-repeat 한 번만 표시하고 반복❌

 

 

background-position 속성

 

배경 이미지의 위치 조절로 배경 이미지의 수평 위치 또는 수직 위치의 값 지정할 수 있어요.

/*기본형*/
background-position: <수평 위치> <수직 위치>;
수평위치: left | center | right | <백분율> | <길이 값>
수직위치: top | center | bottom | <백분율> | <길이 값>

 

 

background-origin 속성

 

배경 이미지의 적용 범위를 조절해요.

 

박스 모델에 패딩이나 테두리에 사용으로 배경 이미지를 패딩까지 표시하거나 테두리까지 포함해서 표시해요.

 

종류 설명
content-box 박스 모델에서 내용 부분에만 배경 이미지를 표시 : 기본값
padding-box 박스 모델에서 패딩까지 배경 이미지를 표시
border-box 박스 모델에서 테두리까지 배경 이미지를 표시

 

 

background-attachment 속성

 

배경 이미지 고정하는 친구예요.

 

배경이미지가 있는 웹 문서를 웹 브라우저에서 열고 스크롤 막대를 위아래로 조절할 때 배경이미지를 고정할 수 있어요.

 

종류 설명
scroll 화면을 스크롤하면 배경 이미지도 스크롤 : 기본값
fixed 화면을 스크롤하면 배경 이미지는 고정되고 내용만 스크롤

 

 

background 속성

 

background 속성으로 줄여 사용이 가능해요.

 

body {
  background-image :url('../images/css\ 로고.png');
	background-repeat: no-repeat;
	background-position: center bottom;
}

→

background: url('../images/css\ 로고.png') no-repeat center bottom;

속성값이 다르므로 입력 순서는 상관없어요.

 

 

background-size 속성

 

배경 이미지 크기 조절속성으로 배경을 채울 요소 크기에 비해 이미지가 작거나 클 경우

 

해당 속성을 사용해 이미지 크기 조절을 할 수 있어요.

 

속성값이 하나일 경우 그 값은 너비로 인식으로 높이는 원래 이미지의 너비와 높이 비율에 따라 자동 계산을 해요.

 

다음은 background-size 속성값과 예제예요.

 

auto 원래 배경 이미지 크기만큼 표시 : 기본값
contain 요소 안에 배경 이미지가 다 들어오도록 이미지를 확대, 축소
cover 배경 이미지로 요소를 모두 덮도록 이미지를 확대, 축소
<크기> 이미지의 너비와 높이를 지정
값이 하나만 주어질 경우 너빗값으로 인식, 이미지의 너비와 너빗값에 맞춘 높잇값도 자동계산
<백분율> 배경 이미지가 들어갈 요소의 크기를 기준으로 값을 백분율로 지정
그 크기에 맞도록 배경 이미지를 확대, 축소

 

 

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <title>배경 이미지</title>
  <style>
    #container{
      width:1100px;
      margin:50px auto;
    }
    .box{
      float:left;
      border:1px solid #222;
      width:300px;
      height:300px;      
      margin:20px;
      background:url('../Chapter08/lotte-black.jpg') no-repeat left top;
    }
    #bg1 { background-size:auto;}  /* 원래 배경 이미지 크기로 표시 */
    #bg2 { background-size:200px;}  /* 너비는 200px, 높이는 자동 계산 */
    #bg3 { background-size:50%;}  /* 배경 이미지 너비는 요소 너비의 50%, 높이는 자동 계산 */
    #bg4 { background-size:100% 100%;}  /* 배경 이미지 너비와 높이는 요소 너비의 100%, 요소 높이의 100% */ 
    #bg5 { background-size:contain;}  /* 요소 안에 배경 이미지가 다 보이도록 표시 */
    #bg6 { background-size:cover;}  /* 요소를 완전히 덮도록 배경 이미지 표시 */
  </style>
</head>
<body>
  <div id="container">
    <div class="box" id="bg1"></div>
    <div class="box" id="bg2"></div>
    <div class="box" id="bg3"></div>
    <div class="box" id="bg4"></div>
    <div class="box" id="bg5"></div>
    <div class="box" id="bg6"></div>
  </div>
 </body>
</html>

 

 

 

 

여기까지 CSS background에 대해 알아봤는데요.

 

배경화면을 꾸미는 종류가 이렇게 많은걸 처음 알았고 잘 배운다면 이쁘게 꾸밀 수 있을 것 같아요.

'Frontend > CSS' 카테고리의 다른 글

CSS Grid  (0) 2025.10.31
CSS Flexbox  (0) 2025.10.30
CSS position  (0) 2025.10.26
CSS Layout (display / float / clear)  (0) 2025.10.24
CSS margin & padding  (0) 2025.10.22