🔮 1. CSS에서의 배경
- 웹 페이지의 배경부분에 효과를 줄 수 있는
background
속성에 대해서 알아보겠습니다.
1.1 CSS에서 사용할 수 있는 background 속성
속성명 | 정보 |
---|
background-color | 배경에 색상을 지정 |
background-image | 배경에 이미지를 지정 |
background-size | 배경의 사이즈를 정의 |
background-repeat | 배경 이미지가 반복되는 방식을 설정 |
background-position | 배경 이미지의 초기 위치를 설정 |
background-attachment | 배경 이미지를 특정 위치에 고정하는 기능 |
1.2 background-color
<style>
h2 {
background-color:aquamarine;
}
p {
background-color:beige;
}
</style>
<body>
<h2> 배경색을 지정 합니다 </h2>
<p> 배경색을 통해 여러가지 색상을 표현 가능 </p>
</body>
1.2 background-image
<section>
<h1>I AM HEADING</h1>
</section>
section {
width: 80%;
height: 800px;
background-image:url("https://images.unsplash.com/photo-1676486771374-4140b2dab50c?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHwyfHx8ZW58MHx8fHw%3D&auto=format&fit=crop&w=500&q=60");
margin: 0 auto;
}
h1 {
font-size: 100px;
color: white;
}
1.3 background-size
속성 | 내용 |
---|
contain | 이미지를 자르거나 늘리지 않고, 컨테이너 내에서 이미지를 최대한 크게 조정한다 |
| 배경요소가 이미지보다 크다면 나머지 공간은 이미지가 반복된다. |
cover | 배경 요소를 배경 이미지로 전부 덮을 수 있게 이미지를 가능한 확대해서 표시 |
| 이미지의 일부분에 대한 잘림 현상이 있다 |
1.3.1 background-size: cover;
section {
width: 80%;
height: 800px;
background-image: url("https://images.unsplash.com/photo-1676481913714-d8e48439f1c8?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHwyMXx8fGVufDB8fHx8&auto=format&fit=crop&w=500&q=60");
background-size: cover;
margin: 0 auto;
}
1.3.2 background-size: contain;
section {
width: 80%;
height: 800px;
background-image: url("https://images.unsplash.com/photo-1676481913714-d8e48439f1c8?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHwyMXx8fGVufDB8fHx8&auto=format&fit=crop&w=500&q=60");
background-size: contain;
margin: 0 auto;
}
1.3 background-repeat
-
배경 이미지가 반복되는 방식을 지정한다. 수직/수평 모두 가능
-
설정된 이미지의 크기가 컨테이너(화면)보다 작으면, 나머지 공간에는 이미지가 반복되어
표시된다. 기본 값(repeat)
속성 | 내용 |
---|
repeat -x | 이미지를 X축만 반복되게 표시 |
repeat -y | 이미지를 y축만 반복되게 표시 |
no-repeat | 반복적으로 표시하지 않고, 1개의 이미지만 표시 |
repeat | 이미지를 반복적으로 x/y축 둘 다 표시(기본 값) |
<-- 이미지의 본연 크기는 너비 120px, 높이 100px 입니다 -->
<style>
.class {
width: 500px;
height: 130px;
margin: 10px;
border: solid 3px gray;
background-image: url("./coffee.jpg");
}
#box {
background-repeat: repeat-x;
}
#box2 {
background-repeat: repeat-y;
}
#box3 {
background-repeat: no-repeat;
}
#box4 {
background-repeat: repeat;
}
</style>
</head>
<body>
<div id="box" class="class">
</div>
<div id="box2" class="class"></div>
<div id="box3" class="class"></div>
<div id="box4" class="class"></div>
</body>
1.4 background-position
- 배경 이미지가 표시되는 초기 위치를 지정 해줍니다.
<style>
.class {
width: 500px;
height: 130px;
margin: 10px;
border: solid 3px gray;
background-image: url("./coffee.jpg");
}
#box {
background-repeat: no-repeat;
background-position: right top;
}
#box2 {
background-repeat: no-repeat;
background-position: center 50px;
}
#box3 {
background-repeat: no-repeat;
background-position: 50px -10px;
?
}
#box4 {
background-repeat: no-repeat;
background-position: 10% 70%;
}
</style>
1.5 background-attachment
- 화면을 스크롤 하면 배경 이미지도 같이 스크롤 된다. 화면이 스크롤 되어도 배경 요소는
이동되지 않고 고정되게 만들 수 있는 태그 입니다. (기본 값 scroll
)
속성 | 내용 |
---|
scroll | 스크롤이 지정된 내부 영역의 이미지는 움직이지 않습니다. (기본 값, 외부는 움직임) |
fixed | 내부,외부 영역을 스크롤해도 이미지는 움직이지 않습니다. |
local | 내부나 외부 영역을 스크롤하면 이미지는 움직입니다. |
<style>
#grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 550px 550px;
}
.class {
margin: 10px;
border: solid 3px gray;
background-image: url("./coffee.jpg");
}
#box {
background-repeat: no-repeat;
background-position: right top;
background-attachment: scroll;
overflow: auto;
}
#box2 {
background-repeat: no-repeat;
background-position: center 50px;
background-attachment: fixed;
overflow: auto;
}
#box3 {
background-repeat: no-repeat;
background-position: 50px -10px;
background-attachment: local;
overflow: auto;
}
#box4 {
background-repeat: no-repeat;
background-position: 10% 0%;
overflow: auto;
}
li {
height: 200px;
}
</style>
</head>
<body>
<div id="grid">
<div id="box" class="class">
<ul>
<li>1</li>
<li>1</li>
<li>1</li>
</ul>
</div>
<div id="box2" class="class">
<ul>
<li>1</li>
<li>1</li>
<li>1</li>
</ul>
</div>
<div id="box3" class="class">
<ul>
<li>1</li>
<li>1</li>
<li>1</li>
</div>
<div id="box4" class="class">
<ul>
<li>1</li>
<li>1</li>
<li>1</li>
</ul>
</div>
</div>
scrool
속성은, 자신의 속성이 포함된 영역에 대해서만 이미지가 고정되고 (내부)
외부에서 작동하는 스크롤에 대해서는 이미지가 스크롤을 따라 움직입니다.
fixed
속성은, 외부와 내부 모두 이미지가 움직이지 않고 고정 됩니다.
local
속성은, 외부와 내부의 이미지가 고정되지 않고 움직입니다.