
๊ฐ์ธ CV ์น์ฌ์ดํธ ์ต์ข ๋ณธ
๐ ์ ์ ์ฌํญ
- ๐๏ธ Day42 ํ๋ก์ ํธ : ๊ฐ์ธ ์น์ฌ์ดํธ 2์ ์ ๊ทธ๋ ์ด๋
- CSS๋ก ์ธํฐํ์ด์ค ใ ในใ ใ ในใ ใดใ ในใ ใดใ ในใ ใดใ
๐๏ธ index.html
โฆ
<head>
โฆ
<link rel="stylesheet" href="css/styles.css">
<link rel="icon" href="favicon.ico">
</head>
์์ด์ฝ์ ๊ฐ์ ํ๋ก์ ํธ ํด๋์ ๋ฃ๊ณ ๋งํฌ

<div>
๐๏ธ index.html
<body>
<div>
<h1>I'm name.</h1>
<p>a programmer.</p>
</div>
โฆ
๐จstyle.css
body {
margin: 0; /* ์นํ์ด์ง ๋ชจ๋ ๊ฐ์ฅ์๋ฆฌ์ ์ฌ๋ฐฑ(๋ธ๋ผ์ฐ์ ๊ธฐ๋ณธ ์คํ์ผ)์ ์์ฐ */
}
h1 {
margin-top: 0; /* ์ ๋ชฉ ์์ ์๋ฉด์ ์ฌ๋ฐฑ์ ์์ฐ */
}
div {
background-color: #EDDFE0;
}
ํฌ๋กฌ ๊ฐ๋ฐ์ ๋๊ตฌ์์ ํ์ธ ๊ฐ๋ฅ

div ๋๋ box์ ๊ตฌ์ฑ
margin(์ฌ๋ฐฑ) : ๋ฐ์ค์ ํ๋ฉด์ ์๋ ๋ค๋ฅธ ๊ฒ๋ค ์ฌ์ด์ ์์ถฉ๊ตฌ์ญ (๋ฐ์ค ๊ธธ์ด์ ๋ฏธํฌํจ)border(๊ฒฝ๊ณ) : ํ
๋๋ฆฌ ์ (๊ตต๊ฒ ํ๊ฑฐ๋ 0์ผ๋ก ๋ฌด์, ๋ฐ์ค ๊ธธ์ด์ ํฌํจ)padding(๊ณต๋ฐฑ) : ๊ฒฝ๊ณ์ ์ฝํ
์ธ ์ฌ์ด์ ๊ณต๊ฐ (๋ฐ์ค ๊ธธ์ด์ ํฌํจ)์ฝํ
์ธ : ์ฝํ
์ธ ์ ๋ง๊ฒ ์๋์ผ๋ก ๋ฐ์ค ํฌ๊ธฐ ์ง์ or ์ง์ ๋ฐ์ค์ ๋์ด/ํญ์ ์ค์ โ ๋ฐ์ค๋ค์ ํ๋ฉด์ ๋ฐฐ์นํ๋ ค๋ฉด ์ฌ๋ฐฑ, ๊ฒฝ๊ณ, ๊ณต๋ฐฑ, ์ฝํ
์ธ ์ ๊ธธ์ด๋ฅผ ๋ชจ๋ ๋ํด์ ์์น๋ฅผ ๊ณ์ฐํด์ผ ํ๋ค
๐๏ธ index.html
<body>
<div class="top-container">
<h1>I'm name.</h1>
<p>a programmer.</p>
</div>
<div class="middle-container"></div>
<div class="bottom-container"></div>
</body>
๋ฐ์ ๋ฐ์ค๋ ๊ทธ ์์ ๋ฐ์ค์ ๋๋น๋ฅผ ๊ณ์ฐ โ ๋๋น๋งํผ ์ผ์ชฝ ๋ง์ง์ ์ค์
HTML ์์์๋ 4๊ฐ์ง ์ข
๋ฅ์ ๊ฐ์ด ์กด์ฌ
(CSS ํ์ผ์์ ํด๋น ์์์ display: ๊ฐ ์ผ๋ก ๋ณ๊ฒฝ ๊ฐ๋ฅ)
<p><h1> ... <h6><div><ol>, <ul>, <li>form<span><a><img>CSS์ Position ์์ฑ 4๊ฐ์ง
+
๐ก CSS์ Coordinates(์ขํ) ์์ฑ
- position ๋ฟ๋ง ์๋๋ผ ์ขํ ์์ฑ์ ๊ฐ๋ ์ค์ ํด์ผ ์ค์ ๋ก ์์๋ฅผ ์ด๋ํ ์ ์์
top,bottom,left,right
์ ์ (static) Positioning
HTML ๊ท์น์ ๋ฐ๋ฅธ ๊ธฐ๋ณธ ๋ ์ด์์
<div> ์์ <h1>๋ฅผ ์ถ๊ฐํ๋ฉด ์์ ์์ ์ ๋ชฉ์ด ์ฌ๋ผ๊ฐ์๋์ (relative) Positioning
์๋ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์์น ๋ณ๊ฒฝ ๊ฐ๋ฅ
์ ๋์ (absolute) Positioning
์์ ๊ฐ์ฒด๋ฅผ ๊ธฐ์ค์ผ๋ก ์์น ๋ณ๊ฒฝ ๊ฐ๋ฅ
๊ณ ์ (fixed) Positioning
์นํ์ด์ง์ body์ ๋ํด ์๋์ ์ผ๋ก ์๋ฆฌ๊ฐ ๊ณ ์ ๋จ
text-align: center; ๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒmargin: 0 auto 0 auto; ์ผ๋ก ์ค์ margin: 0 auto;๋ก ๊ฐ๋จํ๊ฒ ์/์๋ซ๋จ, ์์ชฝ๋จ ์ค์ ๊ฐ๋ฅposition: absolute ์์ฑ์ผ๋ก ๊บผ๋ด๋ ๋ฐฉ๋ฒ
font-family ์์ฑ์์ ์ฐ์ด๋ ํฐํธ์ ๊ณ์ด
๋๋ต์ ์ธ ํฐํธ ๊ณ์ด์ ์์ ๊ตฌ์ฒด์ ์ธ ํฐํธ๋ฅผ ์ถ๊ฐ ๊ฐ๋ฅ (๋น์ทํ ๋๋์ ํฐํธ๋ผ๋ฆฌ ๋ฌถ์ด์ผ ํจ)
font-family: verdana, sans-serif; ์ ๊ฒฝ์ฐ
verdana์ฒด๋ฅผ ์ฐ์ ์ฌ์ฉ, verdana์ฒด๊ฐ ์ฌ์ฉ ๋ถ๊ฐ ์ํ๋ผ๋ฉด sans-serif์ฒด๋ฅผ ์ฌ์ฉ
โ
font embedding์ ํตํด ๋ชจ๋ ์ฌ๋์ด ์ค์ ๋ ํฐํธ๋ฅผ ๋ณผ ์ ์๋ค
Google Fonts์์ ์ํ๋ ํฐํธ๋ค๋ก font family๋ฅผ ๋ง๋ ํ ๋งํฌ๋ฅผ ๋ณต์ฌ
(๐๏ธ index.html์ head์์ ๋งํฌํ์ฌ ์น์ฌ์ดํธ์ ์๋ฒ ๋ฉ)
px ๋จ์๋ก ํฌ๊ธฐ๋ฅผ ์ง์ % ๋ก ํฌ๊ธฐ๋ฅผ ์ง์ ( ์ ๋)em ๋จ์๋ก ํฌ๊ธฐ๋ฅผ ์ง์ (ํ
์คํธ๋ฅผ ๊ธฐ์ธ์์ฒด๋ก ๋ฐ๊พธ๋ <em> ํ๊ทธ์ ๋ค๋ฆ)rem ๋จ์๋ "root em"์ ์ค์๋ง๋ก, ๋ชจ๋ ์์ ์ค์ ์ ๋ฌด์Float ์์ฑ
Clear ์์ฑ
css ๋ฒํผ ์์ฑ๊ธฐ๋ก ์ํ๋ ์คํ์ผ์ ๋ฒํผ ์์ฑ ํ ์ฝ๋ ๋ณต์ฌ
๐๏ธ index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>name's Personal Site</title>
<link rel="stylesheet" href="css/styles.css">
<link rel="icon" href="favicon.ico">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Sacramento&display=swap" rel="stylesheet">
</head>
<body>
<div class="top-container">
<img class="top-cloud" src="images/cloud.png" alt="cloud">
<h1>I'm name.</h1>
<h2>a <span class="pro">pro</span>grammer.</h2>
<img class="bottom-cloud" src="images/cloud.png" alt="cloud">
<img src="images/mountain.png" alt="mountain">
</div>
<div class="middle-container">
<div class="profile">
<img src="images/profile-avatar.png" alt="profile picture">
<h2>Hello.</h2>
<p class="intro">Lorem ipsum dolor sit amet, vitae volutpat, dui conubia, dolor urna. Non auctor, montes nulla distinctio.</p>
</div>
<hr>
<div class="skills">
<h2>My Skills.</h2>
<div class="skill-row">
<img class="computer-img" src="images/computer.png" alt="computer">
<h3>Lorem & Ipsum</h3>
<p>Lorem ipsum dolor sit amet, quis in duis, iaculis id felis. Consectetuer vestibulum, nunc urna lectus, erat ligula. Hendrerit nam, lectus ante, ut lorem eros.</p>
</div>
<div class="skill-row">
<img class="game-img" src="images/game.gif" alt="game">
<h3>Lorem Ipsum Dolor</h3>
<p>Lorem ipsum dolor sit amet, mauris sed consectetuer. Etiam et eu, bibendum interdum, lacus quis mauris. Curabitur wisi, quisque vel eu, rutrum nam.</p>
</div>
</div>
<hr>
<div class="contact-me">
<h2>Get In Touch</h2>
<h3>Lorem ipsum dolor sit amet, non elit.</h3>
<p class="conatact-message">Lorem ipsum dolor sit amet, in quis, aenean amet. Phasellus sodales, tellus donec dui, ornare erat.</p>
<a class="btn" href="mailto:name@email.com">CONTACT ME</a>
</div>
</div>
<div class="bottom-container">
<a class="footer-link" href="https://www.linkedin.com/">LinkedIn</a>
<a class="footer-link" href="https://twitter.com/">Twitter</a>
<a class="footer-link" href="https://www.appbrewery.co/">Website</a>
<p class="copyright-message">ยฉ 2024 Name Surname.</p>
</div>
</body>
</html>
๐จstyle.css
body {
color: #bf7f7f;
margin: 0;
text-align: center;
font-family: "Merriweather", serif;
}
/* ์ ๋ชฉ */
h1 {
color: #4f3f38;
margin: 50px auto 0 auto;
font-size: 5.625rem;
font-family: "Sacramento", cursive;
}
h2 {
color: #4f3f38;
font-size: 2.5rem;
font-weight: normal;
font-family: "Montserrat", sans-serif;
padding-bottom: 10px;
}
h3 {
color: #705C53;
font-family: "Montserrat", sans-serif;
}
/* ๋จ๋ฝ์์ ์ค ๊ฐ ๊ฐ๊ฒฉ ๋ํ๊ธฐ */
p {
line-height: 2;
}
/* ์ํ์ */
hr {
border: dotted #F5F5F7 6px;
border-bottom: none;
width: 5%;
margin: 100px auto;
}
/* ์ต์ปค ํ๊ทธ */
a {
color: #4f3f38;
font-family: "Montserrat", sans-serif;
margin: 10px 20px;
text-decoration: none;
}
a:hover {
color: #f5f5f7;
}
/* ์์ */
.top-container {
background-color: #EDDFE0;
position: relative;
padding-top: 100px;
}
.middle-container {
margin: 100px 0;
}
.bottom-container {
background-color: #EDDFE0;
padding: 50px 0 20px;
}
/* ๊ฐน์ข
์ฌ๋ฐฑ ๋ฐ ๋ํ
์ผ */
.skill-row {
width: 50%;
margin: 100px auto;
text-align: left;
}
.pro {
text-decoration: underline;
}
.intro {
width: 30%;
margin: auto;
}
.conatact-message {
width: 40%;
margin: 40px auto 60px;
}
.copyright-message {
color: #f5f5f7;
font-size: 0.75rem;
padding: 20px 0;
}
/* ์ด๋ฏธ์ง */
.top-cloud {
position: absolute;
right: 300px;
top: 40px;
}
.bottom-cloud {
position: absolute;
left: 250px;
bottom: 300px;
}
.computer-img {
width: 25%;
float: left;
margin-right: 30px;
}
.game-img {
width: 25%;
float: right;
margin-left: 30px;
}
/* CONTACT ME ๋ฒํผ */
.btn {
background: #705c53;
background-image: -webkit-linear-gradient(top, #705c53, #4f3f38);
background-image: -moz-linear-gradient(top, #705c53, #4f3f38);
background-image: -ms-linear-gradient(top, #705c53, #4f3f38);
background-image: -o-linear-gradient(top, #705c53, #4f3f38);
background-image: linear-gradient(to bottom, #705c53, #4f3f38);
-webkit-border-radius: 8;
-moz-border-radius: 8;
border-radius: 8px;
font-family: "Montserrat", sans-serif;
color: #f5f5f7;
font-size: 20px;
padding: 10px 20px 10px 20px;
text-decoration: none;
}
.btn:hover {
background: #eddfe0;
text-decoration: none;
}

์์ฑ๋ ์์