์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ์นํ์ด์ง๋ง๋ค๊ธฐ
- ๊น๋ฏธ๊ฒฝ์๋งํ์์
- Java
- ์นํผ๋ธ๋ฆฌ์ฑ
- ๋ฆฌ์กํธ
- ๋ ์
- css
- ๋ฐ์ํ
- ์ค๋ผํด
- JavaScript
- ๋ผํ๋ผ์ค์๋ง๋
- ๋ง์ผ๋ด๊ฐ์ธ์์๋ค์์ฐ๋ค๋ฉด
- ์ฑ
- K๋ฐฐํฐ๋ฆฌ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ์ํ
- ComputerScience
- ํ์ด์ฌ
- ์๋ฐ์คํฌ๋ฆฝํธ
- K๋ฐฐํฐ๋ฆฌ๋ ๋ณผ๋ฃจ์
- ์ปดํจํฐ๊ณผํ
- ๊ฐ๋ฐ
- Python
- ์ฝ๋ฉ
- html
- database
- ํ๋ก๊ทธ๋๋ฐ
- ์๋ฐ
- ์ค๋ธ์
- Today
- Total
JiYoung Dev ๐ฅ
CSS ๋ฐ์ค๋ชจ๋ธ (2023.04.27) ๋ณธ๋ฌธ
๐ ๋ฐ์ค ๋ชจ๋ธ(box model)
๋ชจ๋ HTML ์์๋ ๋ฐ์ค(box) ๋ชจ์์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ด๊ฒ์ ๋ฐ์ค ๋ชจ๋ธ(box model)์ด๋ผ๊ณ ๋ถ๋ฆ
→ ๋ฐ์ค๋ ๊ณต๊ฐ ํจ์จ์ฑ์ด ์ข๊ธฐ ๋๋ฌธ
์์์ ๋ถํผ๊ฐ์ ๊ฒฐ์ ํ๋ ๊ฐ๋
๋ฐ์ค๋ชจ๋ธ์ HTML ์์๋ฅผ ํจ๋ฉ(padding), ๋ง์ง(margin), ๊ทธ๋ฆฌ๊ณ ๋ด์ฉ(content)์ผ๋ก ๊ตฌ๋ถ
1. ๋ด์ฉ(content)
ํ ์คํธ๋ ์ด๋ฏธ์ง๊ฐ ๋ค์ด์๋ ๋ฐ์ค์ ์ค์ง์ ์ธ ๋ด์ฉ ๋ถ๋ถ
2. ํจ๋ฉ(padding)
๋ด์ฉ๊ณผ ํ ๋๋ฆฌ ์ฌ์ด์ ๊ฐ๊ฒฉ (๋์ ๋ณด์ด์ง ์์)
3. ํ ๋๋ฆฌ(border)
๋ด์ฉ๊ณผ ํจ๋ฉ ์ฃผ๋ณ์ ๊ฐ์ธ๋ ํ ๋๋ฆฌ
4. ๋ง์ง(margin)
ํ ๋๋ฆฌ์ ์ด์ํ๋ ์์ ์ฌ์ด์ ๊ฐ๊ฒฉ (๋์ ๋ณด์ด์ง ์์)
๐ ๋ง์ง(margin)
ํ ๋๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ์์์ ๋ฐ๊นฅ ์ฌ๋ฐฑ ์ง์
background-color ์์ฑ์ผ๋ก ์ค์ ํ๋ ๋ฐฐ๊ฒฝ์์ ์ํฅ์ ๋ฐ์ง ์์
โผโผโผโผ ๋ง์ง(margin) ์ค์ต โผโผโผโผ
<!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>Document</title>
<style>
body{
/* body ํ๊ทธ์ ๊ธฐ๋ณธ margin ๊ฐ์ 8px
=> default ๊ฐ */
margin: 0px
}
#box{
width : 100px;
height : 100px;
background-color: plum;
/* margin : ๊ฒฝ๊ณ์ ์ ๊ธฐ์ค์ผ๋ก ๋ฐ๊นฅ ์ฌ๋ฐฑ */
/* margin: 50px; */
/* margin-left: 10px;
margin-top: 0px;
*/
}
.box{
width : 100px;
height : 100px;
}
#box1{
background-color: red;
}
#box2{
background-color: blue;
margin-left : 100px;
}
#box3{
background-color: green;
margin-left: 200px;
}
#box4{
background-color: gray;
margin-left: 300px;
}
</style>
</head>
<body>
<!-- id#box ๋จ์ถ ๋ช
๋ น์ด -->
<div id="box">Content</div>
<h2>์ค์ต๋ฌธ์ </h2>
<div class="box" id="box1"></div>
<div class="box" id="box2"></div>
<div class="box" id="box3"></div>
<div class="box"id="box4"></div>
</body>
</html>
๐ ํจ๋ฉ(padding)
ํ ๋๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ์์์ ์์ชฝ ์ฌ๋ฐฑ ์ง์
background-color ์์ฑ์ผ๋ก ์ค์ ํ๋ ๋ฐฐ๊ฒฝ์์ ์ํฅ์ ํจ๊ป ๋ฐ์
โผโผโผโผ ํจ๋ฉ(padding) ์ค์ต โผโผโผโผ
<!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>Document</title>
<style>
#box{
width: 100px;
height: 100px;
background-color: aquamarine;
/* padding :
ํ
๋๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ์์์ ์์ชฝ ์ฌ๋ฐฑ์ ์ง์ ํ๋ ์์ฑ
ํ
๋๋ฆฌ์ ๋ด์ฉ ์ฌ์ด์ ์๋ ์ฌ๋ฐฑ์ด๊ธฐ ๋๋ฌธ์ ์์์ ์ฑ์ง์ ๋ฐ๋ฅธ๋ค.
์์ชฝ์ ์๋ ๋์ ๋ด์ฉ์ ๋ ์์ชฝ์ผ๋ก ๋ฃ๊ณ ์ถ์ ๋ ์ฌ์ฉ! */
padding: 30px;
}
.box{
width : 100px;
height : 100px;
}
#box1{
background-color: pink;
}
#box2{
background-color: skyblue;
padding-left : 100px;
}
#box3{
background-color: rgb(99, 241, 142);
padding-left: 200px;
}
#box4{
background-color: rgb(241, 241, 177);
padding-left: 300px;
}
</style>
</head>
<body>
<div id="box">Content</div>
<h2>์ค์ต๋ฌธ์ </h2>
<div class="box" id="box1">BOX</div>
<div class="box" id="box2">BOX</div>
<div class="box" id="box3">BOX</div>
<div class="box" id="box4">BOX</div>
</body>
</html>
๐ box-sizing
์์์ ํฌ๊ธฐ๋ฅผ ํ๋ฉด์ ํ์ํ๋ ๋ฐฉ์
๋ด๊ฐ padding, border๊ฐ์ ์ฃผ๊ณ ์ถ์๋ฐ ๋์ ๋ํ์ด ์ปค์ง๋๊ฒ ์ซ๋ค?
→ box-sizing : border-box ์ฌ์ฉ!
๋ด๊ฐ padding, border ๊ฐ์ ์ฃผ๋ ์กฑ์กฑ ๋ํ์ ๋ณํ๊ฐ ์์์ผ๋ฉด ์ข๊ฒ ๋ค?
→ box-sizing : content-box (๋ํดํธ)
<!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>Document</title>
<style>
div{
/* ๋ด๊ฐ ์ค์ ํ ๋๋น (content) */
width: 500px;
/* ์์ชฝ ์ฌ๋ฐฑ (padding) */
padding: 20px;
/* ๊ฒฝ๊ณ์ (border) */
border: 20px solid gray;
}
/* Box-Sizing ์์์ ํฌ๊ธฐ๋ฅผ ํ๋ฉด์ ํ์ํ๋ ๋ฐฉ์ */
/* (1) content-box
๋ด๊ฐ ์ค์ ํ ๋๋น ๊ฐ = ์ปจํ
์ธ ์ ๋๋น ๊ฐ
box-sizing์ ๊ธฐ๋ณธ ๊ฐ
์ปจํ
์ธ ์์ญ๋ง์ ํฌ๊ธฐ๋ก ์ผ๋ ์์ฑ์ผ๋ก
ํจ๋ฉ, ๋ณด๋ ๊ฐ์ด ์ถ๊ฐ๋ก ๋ค์ด๊ฐ๋ฉด ๋ค์ด๊ฐ ๋งํผ
์ ์ฒด ๋ํ์ ํฌ๊ธฐ๊ฐ ์ปค์ง๋ค. */
/* (2) border-box
๋ด๊ฐ ์ค์ ํ ๋๋น = border๊น์ง์ ๋๋น
content + padding + border = ๋ด๊ฐ ์ค์ ํ ๋๋น
padding, border๋ฅผ ๋ฃ์ด๋ ์ ์ฒด ํฌ๊ธฐ๋ ์ปค์ง์ง ์์ผ๋ฉฐ
content์ ํฌ๊ธฐ๋ง ์์์ง๋ค. */
.bb{
box-sizing: border-box;
}
</style>
</head>
<body>
<div class="cb">
<p>content-box</p>
</div>
<div class="bb">
<p>border-box</p>
</div>
</body>
</html>
์ ํธ๋ฑ ๋ง๋ค๊ธฐ ์ค์ต โผโผโผโผ
<!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>Document</title>
<style>
#bg{
width: 120px;
height: 360px;
background-color: black;
border-radius: 20px;
padding: 20px 10px;
box-sizing: border-box;
}
.light{
width: 100px;
height: 100px;
border-radius: 50px;
}
#red{
background-color: red;
}
#yellow{
background-color: yellow;
margin: 10px 0 10px 0;
}
#green{
background-color: green;
}
</style>
</head>
<body>
<!-- 1. ๊ฒ์ ์ div
- width : 120px, height : 360px
- ๋ฐฐ๊ฒฝ์ : black -->
<!-- 2. ์ผ์๋ฑ div (red, yellow, green)
- width : 100px, height : 100px -->
<!-- tip!!!
- margin์๋ ์ค์ฒฉํ์์ด ์ผ์ด๋๋ค!
- padding์ ์ด์ฉํ๋ฉด ํฌ๊ธฐ๊ฐ ์ปค์ง. ๊ทธ๋ฌ๋ ํฌ๊ธฐ๋ ์๋์ง ๋ง๊ฒ ! (box-sizing : border box ํ์ฉ)
- ๊ฒ์ ์ div ์์๋ค๊ฐ ์์ ์์๋ก ์ผ์ div๋ฅผ ๋ฃ์ด์ผ ํจ -->
<!-- ๊ฒ์ ์ div : bg -->
<div id="bg">
<!-- ์ผ์๋ฑ div : light -->
<div class="light" id="red"></div>
<div class="light" id="yellow"></div>
<div class="light" id="green"></div>
</div>
</body>
</html>
๐ border
์์์ ํ ๋๋ฆฌ
border : ์ ๋๊ป ์ ์ข ๋ฅ ์ ์๊น;
์ค์ํ ๊ฒ์ border-radius
4๋ฐฉํฅ ๋ชจ๋ ์ ์ฉ >> border-radius : 50px(์ ์ฌ๊ฐํ ๊ธธ์ด์ 50%)
border ์ค์ต โผโผโผโผ
<!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>Document</title>
<style>
/* border-radius : ๊ฒฝ๊ณ์ ์ ๋ฅ๊ธ๊ฒ ๋ง๋ค์ด์ฃผ๋ ์์ฑ
border - ์/์๋ - ์ข/์ฐ - radius
๋ง์ฝ ๋ค ๋ฐฉํฅ ๋ชจ๋ ๋ฅ๊ธ๊ฒ ๋ง๋ค์ด์ฃผ๊ณ ์ถ๋ค๋ฉด?
border-radius
*/
body{
/* body ํ๊ทธ์ ๊ธฐ๋ณธ margin ๊ฐ์ 8px
=> default ๊ฐ */
margin: 0px
}
#box{
width : 100px;
height : 100px;
background-color: plum;
/* margin : ๊ฒฝ๊ณ์ ์ ๊ธฐ์ค์ผ๋ก ๋ฐ๊นฅ ์ฌ๋ฐฑ */
/* margin: 50px; */
/* margin-left: 10px;
margin-top: 0px;
*/
/* border-radius */
/* ์ค๋ฅธ์ชฝ ์์ชฝ์ ๋ฅ๊ธ๊ฒ? */
border-top-right-radius: 20px;
/* ์ธ์ฌํ๊ฒ ๊น๊ณ ์ถ๋ค๋ฉด -> px, ๊ธธ๊ฒ ๊น๊ณ ์ถ์ผ๋ฉด -> % ์ฌ์ฉ */
/* ์ผ์ชฝ ์๋๋ฅผ ๋ฅ๊ธ๊ฒ? */
border-bottom-left-radius: 60px;
/* ๋ชจ๋ ๋ฐฉํฅ์ ๋ฅ๊ธ๊ฒ? */
border-radius: 50px;
}
.box{
width : 100px;
height : 100px;
border-top-left-radius: 50px;
border-bottom-right-radius: 0px;
}
#box1{
/* width: 100px;
height : 100px; */
background-color: red;
}
#box2{
/* width: 100px;
height : 100px; */
background-color: blue;
margin-left : 100px;
}
#box3{
/* width: 100px;
height : 100px; */
background-color: green;
margin-left: 200px;
}
#box4{
/* width: 100px;
height : 100px; */
background-color: gray;
margin-left: 300px;
}
</style>
</head>
<body>
<!-- id#box ๋จ์ถ ๋ช
๋ น์ด -->
<div id="box">Content</div>
<h2>์ค์ต๋ฌธ์ </h2>
<div class="box" id="box1"></div>
<div class="box" id="box2"></div>
<div class="box" id="box3"></div>
<div class="box"id="box4"></div>
</body>
</html>
โป ์ฃผ์ํ ์
margin ์ค์ฒฉ >> margin ์ค์ฒฉ์ด ์ผ์ด๋ ๋๋ padding์ ์ฌ์ฉํ ์ ์๋ค
๐ disply : flex โจโจโจ
flex box๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ฉฐ, ๋ ์ด์์์ ๋ฐฐ์นํ๊ธฐ ์ํด ๋์จ ๊ธฐ๋ฅ
- container(๋ฐ๊นฅ ๋ฐ์ค) ์ item(๋ด๋ถ ๋ฐ์ค)์ผ๋ก ๊ตฌ์ฑ
- container์์ display:flex ์ ์ธ ํ ๊ธฐํ ํ์ ์ฝ๋ ์์ฑ
- container์ ์์ฑํด์ผ ํ๋ ์์
1. ๋ด๋ถ์ ๋ค์ด๊ฐ๋ item๋ค์ ์ด๋ป๊ฒ ์ ๋ ฌ์ํฌ ๊ฒ์ธ๊ฐ (๋ฐฐ์น๋ฐฉํฅ) >>>> flex-direction
item๋ค์ ๊ฐ๋ก์ ๋ ฌ ํน์ ์ธ๋ก์ ๋ ฌ
2. ๋ฉ์ธ์ถ์ ๊ธฐ์ค์ผ๋ก item์ ์ด๋ป๊ฒ ์ ๋ ฌํ ๊ฒ์ธ๊ฐ >>>> justify-content
๋ฉ์ธ์ถ์ ๊ธฐ์ค์ผ๋ก ์ค์ฌ, ์์ชฝ์ ๋ ฌ ๋ฑ
3. ์๋ธ์ถ์ ๊ธฐ์ค์ผ๋ก item์ ์ด๋ป๊ฒ ์ ๋ ฌํ ๊ฒ์ธ๊ฐ >>>> align-items
์๋ธ์ถ์ ๊ธฐ์ค์ผ๋ก ์ค์ฌ, ์์ชฝ์ ๋ ฌ ๋ฑ
- item์ ์์ฑํด์ผ ํ๋ ์์
1. flex-basis : ์์ดํ ์ ๊ธฐ๋ณธ์ ์ธ ํฌ๊ธฐ ์ค์
flex ์ค์ต โผโผโผโผ
<!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>Document</title>
<style>
.container{
background-color: whitesmoke;
height: 500px;
/* container์ ์์ฑํด์ผํ๋ ์์
=> ๋ด๋ถ์ ๋ค์ด๊ฐ๋ item์ ์ด๋ป๊ฒ ์ ๋ ฌ์ํฌ์ง!!! */
/* (1) display:flex
=> flex ์ค์ , flex์ ๊ด๋ จ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋๋ก ํจ
๋ํดํธ : ํ ์ค์ ์ฌ๋ฌ๊ฐ์ ์์๊ฐ ๋ค์ด๊ฐ (์ค ๋์ด๊ฐ์ง X)
*/
display: flex;
/* (2) ๋ฐฐ์น๋ฐฉํฅ ์ค์ */
/* 2-1) column, column-reverse(์๋๋ถํฐ ์ ๋ ฌ)
- ๋ฉ์ธ์ถ : ์ธ๋ก๋ก ์ ๋ ฌ
- ์๋ธ์ถ : ๊ฐ๋ก(์ํ) */
flex-direction: column;
/* 2-2) row, row-reverse(์ค๋ฅธ์ชฝ๋ถํฐ ์ ๋ ฌ)
- ๋ฉ์ธ์ถ : ๊ฐ๋ก๋ก ์ ๋ ฌ
- ์๋ธ์ถ : ์ธ๋ก(์์ง)
*/
flex-direction: row;
/* (3) ๋ฉ์ธ์ถ ์ ๋ ฌ : justify-content */
justify-content: center;
/* (4) ์๋ธ์ถ ์ ๋ ฌ : align-items */
align-items: center;
}
.item{
background-color: skyblue;
width: 100px;
height: 100px;
border: 1px solid navy;
/* item ์์์๊ฒ ์์ฑํด์ผ ํ๋ ๊ฒ */
/* flex-basis : ์์ดํ
์ ๊ธฐ๋ณธ์ ์ธ ํฌ๊ธฐ ์ค์ */
flex-basis: 15%;
}
#center{
flex-basis: 70%;
/* ์ฒซ ๊ตฌ์กฐ๋ฅผ ์ก์ ๋๋ item์ ์ญํ
๋๋ฒ์งธ ๊ตฌ์กฐ๋ฅผ ์ก์ ๋๋ ('์๋
ํ์ธ์' ์ฎ๊ธธ๋)
container์ ์ญํ */
display:flex;
/* ๋ฐฐ์น๋ฐฉํฅ - ๋ํดํธ๊ธฐ ๋๋ฌธ์ ์๋ต ๊ฐ๋ฅ */
flex-direction: column;
/* ๋ฉ์ธ์ถ ์ ๋ ฌ */
justify-content: center;
/* ์๋ธ์ถ ์ ๋ ฌ */
align-items: center;
}
</style>
</head>
<body>
<!-- flex๋ฅผ ์ฌ์ฉํ ๋, container์ item์ ๊ตฌ๋ถํด์ ์ฌ์ฉํ ์์
- ๋ด๊ฐ ์์น๋ฅผ ์ฎ๊ฒจ์ฃผ๊ฑฐ๋, ๋ ์ด์์์ ๋ฐ๊พธ๊ณ ์ถ์ ์์ : item
- ๊ทธ item์ด ์ํด์๋ ๋ถ๋ชจ ์์ : container
* container์ item์ ๊ด๊ณ๋ ์ ๋์ ์ด์ง X
-->
<div class="container">
<div class="item"></div>
<div class="item" id="center">
<span>์๋
ํ์ธ์?</span>
<!-- Q. ์๋
ํ์ธ์? ๋ผ๋ ๊ธ์๋ฅผ ๋๋ฒ์งธ ๊ณต๊ฐ์ ๊ฐ์ด๋ฐ๋ก ์์น์ํค๊ธฐ -->
</div>
<div class="item"></div>
</div>
</body>
</html>
์๋จ๋ฐ ๋ง๋ค๊ธฐ ์ค์ต โผโผโผโผ
<!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>Document</title>
<style>
/* ์์์์ฑ => ๋์ค์ ์ง์ฐ๊ธฐ! */
/* .container div{
border: 1px solid black;
} */
.container{
background-color: whitesmoke;
height: 100px;
display: flex;
justify-content: center;
}
.box{
flex-basis: 20%;
display: flex;
justify-content: center;
align-items: center;
}
#center{
flex-basis: 60%;
font-weight: 900;
}
a{
color: black;
text-decoration: none;
box-sizing: border-box;
padding: 0 15px 0 15px;
}
#left{
font-size: 14px;
box-sizing: border-box;
/* padding: 20px; */
}
</style>
</head>
<body>
<!-- ์๋จ๋ฐ ์ ์ฒด ์์ญ -->
<div class="container">
<div class="box" id="left">
<h1>์ฅฌ๋ผ๊ธฐ์๋</h1>
</div>
<div class="box" id="center">
<a href="#">๋ฉ๋ด</a>
<a href="#">๋ฒ ์คํธ</a>
<a href="#">๋ด์ค</a>
</div>
<div class="box" id="right">
<a href="#">๋ก๊ทธ์ธ</a>
<a href="#">ํ์๊ฐ์
</a>
</div>
</div>
</body>
</html>
'full stack > HTML, CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CSS position, ์คํ์ผ์ํธ ์ ์ธ ๋ฐฉ์ (2023.04.28) (1) | 2023.04.28 |
---|---|
CSS, HTML ๊ณต๊ฐ๋ถํ ํ๊ทธ (2023.04.26) (0) | 2023.04.26 |
HTML ํ๊ทธ : ๋ฆฌ์คํธ, ์ด๋ฏธ์ง, ์ต์ปค, ํ ์ด๋ธ, ์ธํ (2023.04.25) (0) | 2023.04.25 |
WEB & HTML ์ ์์ ์ญ์ฌ / HTML ํ๊ทธ (2023.04.21) (1) | 2023.04.23 |
CSS ๋ ์ด์์ : Position, Flex (0) | 2023.03.08 |