📌CSS background 에 쓰이는 용어 정리 📌
background-color | HTML 요소의 배경색 설정 |
background-repeat | 배경이미지를 수평이나 수직 방향으로 반복하도록 설정 (repeat, repeat-x, repeat-y, no-repeat(반복안함)) |
background-image | HTML 요소의 배경으로 나타날 배경 이미지를 선택 배경 이미지는 기본 설정으로 바둑판 형식으로 반복되어 나타남 ex) background-image: url("이미지파일 경로"); |
background-position | 반복되지 않는 배경 이미지의 상대 위치를 설정 %나 px을 사용하여 상대위치를 정할 수 있음 상대위치를 정하는 기준은 해당 요소의 왼쪽 상단 |
background-attachment | 위치가 설정된 배경 이미지를 원하는 위치에 고정 고정 된 배경 이미지는 스크롤과 무관하게 화면 위치에서 이동되지 않음 fixed |
cover | 배경이미지의 가로 세로 모두 요소보다는 크다는 조건 하에 가능한 이미지를 작게 설정 = 배경 이미지의 크기는 요소의 크기보다 항상 크거나 같음 ex) div크기가 300x300이라면 300x300보다 크다는 조건하에 꽉 채워줄 수 있다 =>이미지가 요소보다 크면 이미지 일부만 보이기 때문 |
background-size | 배경 크기를 설정 / px, %을 사용 |
contain | 배경 이미지의 가로 세로 모드 요소보다는 작다는 조건 하에 가능한 이미지를 크게 설정 = 배경 이미지의 크기는 요소의 크기보다 항상 작거나 같음 |
background | 경로, 반복여부, 위치, 속성(fixed) / 사이즈 |
1. 배경에 이미지 넣기
- 이미지를 만들곳에 (div) 구역을 정해주고 class 이름을 img로 정해주자
이미지 위에 넣어줄 의미없는 글자가 표시되게 하는 lorem을 넣어준다.
- 입력 코드 -
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS배경1</title>
</head>
<body>
<h2>CSS배경1</h2>
<div class="image">
Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Soluta nesciunt officiis, vel corporis doloribus consequuntur
perspiciatis ducimus. Itaque, tenetur temporibus! Nemo hic,
quo amet cum praesentium eum a? Sapiente, quis!
</div>
</body>
</html>
- 스타일 입력-
<style>
.image{
height: 600px;
background-image: url(./img/seagulls-gf2da951c2_640.jpg);
background-repeat: repeat-y;
}
</style>
- 클래스 이름값인 . image 를 태그해주고
넓이 사이즈는 600px
사진의 경로 ( 이전폴더/폴더이름/파일이름) 을 써준후
y 축으로 세로로만 이미지가 보여짐
- 출력 결과 -
![[프론트 엔드 DAY05] [프론트 엔드 DAY05]](https://blog.kakaocdn.net/dn/vj3ul/btrA2CWxIaR/zYyPQEi42KW2cnltmlk2sK/img.png)
2. 3개의 박스안에 이미지 넣기
- 3개의 박스안에 이미지를 넣기 위해서
각각의 div class 이름을 지정해준다.
( big1, big2, big3) 로 지정해줌. 사진이 잘보이게 하기 위해 무의미한 텍스트 <p>태그 안에
입력해줌.
- 입력 코드-
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS배경2</title>
</head>
<body>
<h2>CSS배경2</h2>
<div class="bg1">
<h2>background-position1</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Consectetur earum exercitationem recusandae et assumenda blanditiis
facilis autem.
Nesciunt quo, nihil necessitatibus aperiam veniam, laboriosam enim,
commodi facilis neque praesentium eligendi?</p>
</div>
<div class="bg2">
<h2>background-position2</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Consectetur earum exercitationem recusandae et assumenda blanditiis
facilis autem. Nesciunt quo,
nihil necessitatibus aperiam veniam, laboriosam enim,
commodi facilis neque praesentium eligendi?</p>
</div>
<div class="bg3">
<h2>background-position3</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Consectetur earum exercitationem recusandae et assumenda blanditiis
facilis autem.
Nesciunt quo, nihil necessitatibus aperiam veniam, laboriosam enim,
commodi facilis neque praesentium eligendi?</p>
</div>
</body>
</html>
- 스타일 코드-
<style>
div{
width: 60%;
height: 200px;
border: 3px dotted deeppink;
padding: 10px;
background-image: url("img//jeju.jpg");
background-repeat: no-repeat;
}
.bg1{
background-position: right bottom;
}
.bg2{
background-position: center;
}
.bg3{
background-position: 10% 10%;
}
</style>
- 전체적인 div 태그 안에 크기, 높이, 테두리 3px의 크기인 도트 핑크를 넣어주고 두께는 10px
배경 이미지, 이미지의 반복되지않음 을 동일하게 적용 시켜준다.
- 각각의 이미지의 보여지는 방향? 을 입력하였다.
- 출력 결과 -
세개의 박스 안에 원하는 이미지와, 지정한 이미지의 위치가 나타나는 것을 볼수 있다.
![[프론트 엔드 DAY05] [프론트 엔드 DAY05]](https://blog.kakaocdn.net/dn/cMvyi0/btrA0ArnfFE/Rk398LkiExZlAjoJEiEsXk/img.png)
3. 배경은 그대로 , 스크롤할때 텍스트만 움직이는
- 입력 코드 -
- 마우스를 스크롤 하면 움직이는게 보일 정도로의 p 태그 안에 텍스트를 넣어준다.
![[프론트 엔드 DAY05] [프론트 엔드 DAY05]](https://blog.kakaocdn.net/dn/t7ygX/btrAYlaoPRm/m0KSMxpe2o4K9Zq8zCnRR1/img.png)
- 스타일 코드 -
<style>
body{
background-image: url(./img/seagulls-gf2da951c2_640.jpg);
background-attachment: fixed;
color: #fff;
background-repeat: no-repeat;
background-size: cover;
}
</style>
- 배경이 꽉 채워지게 cover을 넣고
텍스트 컬러를 흰색 , 그리고 배경 사진이 움직이지 않게 고정 시켰다.
- 출력 결과-
스크롤 하는 모습을 여기다가 어떻게 쓸지는 몰라서 일단 사진만 첨부 했다.
![[프론트 엔드 DAY05] [프론트 엔드 DAY05]](https://blog.kakaocdn.net/dn/vRk8Z/btrA2CbcdaX/x7xnXzH97LqDuFVCtna49K/img.png)
- 결과는 이렇게 나왔고 저 코드를 입력하면 스크롤 하면서 텍스트는 내려가고, 이미지는 고정되어 있는 것을 볼수 있다.
4. 패딩 / 마진 ( 중요한것...★)
< 박스모델>
모든 HTML 요소는 네모난 박스모양을 구성되어있다 = 박스모델
박스모델은 HTML 요소를 내용(contents), 패딩, 테두리, 마진 구분함
<패딩>
박스모델의 내용과 테두리 사이의 간격(안쪽 여백)
CSS속성: a b c d (위, 오른쪽, 아래, 왼쪽 ) - 시계방향
CSS속성: a b c (위, 아래, 양옆)
CSS속성: a b (위/아래, 양옆) // 0 auto
CSS속성: a (전방향)
[마진,패딩]
- 마진, 패딩에 위치를 지정해줄수 있음 -
margin/padding-top, right, bottom, left - 방향 : a
ex)margin-left:10px;
<테두리>
박스모델의 내용과 패딩 주변을 감싸는 테두리
border: width style color
ex) border: 3px solid/dotted #000;
따로 부여 가능
border-style:, border-color:, border-widt:h
<마진>
테두리와 이웃하는 요소 사이의 간격
마진은 눈에 보이지 않음
- 코드 입력 -
- 패딩과 마진을 보기위해 각각의 박스 안에 <p> 안 텍스트를 넣어 주자 . 각각의 id 네임 부여
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>패딩</title>
</head>
<body>
<p id="ex1"> Lorem ipsum dolor sit amet <span id="side">onsectetur</span>c adipisicing elit.
Adipisci assumenda consequatur expedita necessitatibus aut ipsam suscipit sed? Autem nesciunt harum nulla quod ratione?
Quod ad at nulla aperiam quidem officia.</p>
<p id="ex2"> Lorem ipsum dolor sit, amet consectetur adipisicing elit. Quaerat corporis tempora voluptatibus quod officiis?
Nobis excepturi autem fugit asperiores amet ea dignissimos sit repellendus porro, modi officiis? Magnam, sapiente nam.</p>
<p id="ex3"> Lorem ipsum dolor sit amet consectetur adipisicing elit. Fugit perferendis minus dicta.
Itaque vel nobis dicta natus vero enim quas neque placeat praesentium, voluptate, incidunt optio ratione molestias perferendis eveniet.</p>
<p id="ex4"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur libero neque voluptates sit sunt veritatis quisquam soluta nulla,
eum architecto consequatur.
Aliquam quos autem suscipit earum saepe numquam deserunt repellat.</p>
<p id="ex5"> Lorem ipsum dolor sit amet consectetur adipisicing elit. Quaerat, eum officia! Eius praesentium mollitia dignissimos corrupti provident sunt, accusantium pariatur.
Dicta error vel blanditiis qui nobis vero doloremque magni deleniti.</p>
</body>
</html>
- 스타일 코드 입력-
<style>
p{
border: 3px solid #000;
}
#ex1{
padding: 10px;
}
#ex2{
padding: 20px;
}
#ex3{
margin: 20px;
}
#ex4{
margin-top: 30px;
}
#side{
margin-left: 30px;
}
</style>
- 전체적인 p태그에 테두리 크기 3px 을 만들어 준다.
- 각각의 이름값 안에 마진과 , 패딩의 값을 넣어준다 .
- 출력 결과 -
1.2 번쩨 패딩의 값과
3.4 번째 마진의 값이 들어간것이 보인다.
![[프론트 엔드 DAY05] [프론트 엔드 DAY05]](https://blog.kakaocdn.net/dn/qFT6W/btrA2BQVl8z/kx3CvNTv8JXaLvS5VZErk0/img.png)
'Class > Frontend' 카테고리의 다른 글
[프론트 엔드 DAY07] (1) | 2022.05.09 |
---|---|
[프론트 엔드 DAY06] (0) | 2022.05.02 |
[프론트 엔드 DAY04-1] (0) | 2022.04.27 |
[프론트 엔드 DAY04] (1) | 2022.04.26 |
[프론트 엔드 DAY03- 2] (0) | 2022.04.25 |
댓글