๐ก ์ด๋ฒ ์ฃผ์๋ ์น์ ๋์์๋ฆฌ ๊ทธ๋ฆฌ๊ณ ์น์ ํ์ค๊ธฐ์ ์ ๋ํด ๋ฐฐ์ ๋ค. 'Visual Studio Code'๋ฅผ ๋ด ์ปดํจํฐ์ ์ค์นํ์ฌ ์ฒ์์ผ๋ก HTML, CSS, JS ํ์ผ์ ์์ฑํด๋ณด๊ธฐ๋ ํ๋ค. ๋ํ 'Github'๋ผ๋ ํ๋ก๊ทธ๋จ์ ์ค์นํ์ฌ ๋ด๊ฐ ์์ฑํ ์ฝ๋๋ฅผ github์ ์ฌ๋ ค๋ณด๊ธฐ๋ ํ๋ค.
๐์น์ ํด๋ผ์ด์ธํธ์ ์์ฒญ๊ณผ ์๋ฒ์ ์๋ต์ผ๋ก ๋์ํจ
๋์ ์น ์ฌ์ดํธ์ ๋์์๋ฆฌ
: ๋์ ์ฌ์ดํธ๋ ํน๋ณํ URL๊ณผ ๋ฐ์ดํฐ ์์ฒญ์ ์ํด ์์ฑ๋๊ฑฐ๋ ์ฝํ
์ธ ๋ฅผ ๋ฐํํ ์ ์์,
๋ง์ฝ์ ์ ํ์ ๋ํHTTP GET Request๋ฅผ ๋ฐ์ผ๋ฉด, ์๋ฒ๋ ์ ํID๋ฅผ ๊ฒฐ์ ํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ , HTML ํ
ํ๋ฆฟ์ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ์ง์ด๋ฃ์ HTMLํ์ด์ง๋ฅผ ์์ฑํ ๊ฒ์
์ ์ ์น ์ฌ์ดํธ์ ๋์์๋ฆฌ
: ์ ์ ์ฌ์ดํธ๋ ํน์ ๋ฆฌ์์ค๊ฐ ์์ฒญ๋ ๋๋ง๋ค ์๋ฒ์์ ํ๋ ์ฝ๋ฉ๋ ๋์ผํ ์ปจํ
์ธ ๋ฅผ ๋ฐํํ๋ ์ฌ์ดํธ๋ฅผ ๋งํจ,
์ ์ ์ฌ์ดํธ๋ ์ค์ง GET requests๋ง ํ์ํจ ์๋ํ๋ฉด ์ด ์๋ฒ๋ ๋ณ๊ฒฝ ํ ์ ์๋ ๋ฐ์ดํฐ๋ ์ ์ฅํ์ง ์๊ธฐ ๋๋ฌธ์
ํ๋ ์น ํ์ด์ง์ ์ฌ์ฉ๋๋ ํ์ค ๊ธฐ์
-> HTML5 ํ์ค, CSS3 ํ์ค, ECMAScript ํ์ค
(ECMAScript : ECMA(์ ๋ฝ ์ปดํจํฐ์ ์กฐํํ)์์ ์ ์ ํ JavaScript์ ํ์ค ๋ช
์นญ)
HTML
: HyperText Markup Language์ ์ค์๋ง, ์น์ ๊ตฌ์กฐ๋ฅผ ๋ด๋น
CSS
: Cascading Style Sheets์ ์ค์๋ง, ์น์ ์๊ฐ์ ํํ์ ๋ด๋น
JavaScript
: JS๋ผ๊ณ ๋ ํจ, ์น์ ๋์ ์ฒ๋ฆฌ๋ฅผ ๋ด๋น
โ3/12 ์ฒ์ ์ค์ต๊ณผ์ ํด๋ณธ ๋
Chrome ๋ธ๋ผ์ฐ์ ํ๋ฉด์ ์๋ฅผ ์จ๋ณด๋ ๊ณผ์ ๊ฐ ์ฃผ์ด์ก๋ค.
์ค์๊ฐ ๊ฐ์ ์๊ฐ์ ๋ด๊ฐ ํด๋ณธ ์ค์ต์ ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์ 'Hello World!'๊ฐ ์ค์์ ํฐ ๊ธ์จ๋ก ๋์ค๊ณ 'Hello World!'๋ฅผ ํด๋ฆญํด๋ณด๋ฉด ํ์
์ฐฝ์ '๋ง๋์ ๋ฐ๊ฐ์์.'๊ฐ ๋จ๊ฒ ํ๋ ๊ฒ์ด์๋ค. ์ด ์ค์ต๋ด์ฉ์ ๋ฐํ์ผ๋ก ์ค์ต๊ณผ์ ๋ฅผ ์ต๋ํ ๋ด ํ์ผ๋ก ํด๋ณด๋ ค๊ณ ๋
ธ๋ ฅํ์ผ๋ ์ฝ์ง ์์๋ค. ๊ทธ๋์ Codepen์ ์ฌ๋ ค์ง ์์ค์ฝ๋๋ฅผ ์ฐธ๊ณ ํ์ฌ ๊ณผ์ ๋ฅผ ํด๋ณด์๋ค. ๊ทธ ๊ฒฐ๊ณผ ๊ต์๋๊ป์ ์ฌ๋ ค์ฃผ์ ์์์ ๋น์ทํ๊ฒ ๋์๋ค.
๐html
<body>
<section class="poem">
<section class="head" onclick="popAlert()">
<p id="title">ํ๋ค๋ฆฌ๋ฉฐ ํผ๋ ๊ฝ</p>
</section>
<section class="text">
<section class="flower">
<p>ํ๋ค๋ฆฌ์ง ์๊ณ ํผ๋ ๊ฝ์ด ์ด๋ ์์ผ๋ด</p>
<p>์ด ์ธ์ ๊ทธ ์ด๋ค ์๋ฆ๋ค์ด ๊ฝ๋ค๋</p>
</section>
<section class="flower">
<p>๋ค ํ๋ค๋ฆฌ๋ฉด์ ํผ์๋๋</p>
<p>ํ๋ค๋ฆฌ๋ฉด์ ์ค๊ธฐ๋ฅผ ๊ณง๊ฒ ์ธ์ ๋๋</p>
<p>ํ๋ค๋ฆฌ์ง ์๊ณ ๊ฐ๋ ์ฌ๋์ด ์ด๋ ์์ผ๋ด</p>
</section>
<section class="flower">
<p>์ ์ง์๊ณ ํผ๋ ๊ฝ์ด ์ด๋ ์์ผ๋ด</p>
<p>์ด ์ธ์ ๊ทธ ์ด๋ค ๋น๋๋ ๊ฝ๋ค๋</p>
<p>๋ค ์ ์ผ๋ฉฐ ์ ์ผ๋ฉฐ ํผ์๋๋</p>
<p>๋ฐ๋๊ณผ ๋น์ ์ ์ผ๋ฉฐ ๊ฝ์ ๋ฐ๋ปํ๊ฒ ํผ์ ๋๋</p>
<p>์ ์ง ์๊ณ ๊ฐ๋ ์ถ์ด ์ด๋ ์์ผ๋ด</p>
</section>
</section>
</section>
<script src="./js/index.js"></script>
</body>
๐css
body {
padding: 4rem;
white-space: nowrap;
}
.poem {
display: flex;
flex-direction: column;
padding: 0 20rem;
justify-content: center;
align-items: center;
}
.head {
width: 50%;
margin-bottom: 5rem;
cursor: pointer;
}
#title {
text-align: left;
font-size: 3rem;
font-weight: 800;
}
.text {
width: 50%;
font-size: 1.125rem;
line-height: 2rem;
}
.flower+.flower {
margin-bottom: 2.25rem;
}
๐JS
const popAlert = () => {
alert('๋์ข
ํ')
}
๐๊ฒฐ๊ณผ
-> ์์ ์ ๋ชฉ์ธ 'ํ๋ค๋ฆฌ๋ฉฐ ํผ๋ ๊ฝ'์ ํด๋ฆญํ์ ๋ ์์ธ์ ์ด๋ฆ์ด ๋จ๋๋ก ํ ๊ฒฐ๊ณผ ์ด์ ๊ฐ์ด ํ๋ฉด์ ๋ํ๋ฌ๋ค.
โ3.16 ๊ณผ์ ์์ ๋ฐ ๋ณด์ํ ๋
3์ 12์ผ์ ๊ณผ์ ๋ฅผ ์ด๋ฏธ ์ ์ถํ ์ํ์์ง๋ง ๋ค์ ๋ด๊ฐ ํ๋ ๊ณผ์ ๋ฅผ ๋ณด๋ ๋ญ๊ฐ ๋ ์ถ๊ฐํ์ฌ ํ์ด์ง๋ฅผ ์์๊ฒ ๋ง๋ค์ด๋ณด๊ณ ์ถ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ํ์ํ ์ ๋ณด๋ค์ ๋ชจ์ผ๊ณ ๊ฑฐ๊ธฐ์ ๋์ค๋ ๋ด์ฉ์ ์ฐธ๊ณ ํ์ฌ ์ฒ์์ ๋ด๊ฐ ์์ฑํ ์ฝ๋์ ์ผ๋ถ๋ถ์ ์์ ํ์๋ค.
๐html
<head>
<link href="https://fonts.googleapis.com/css2?family=Nanum+Pen+Script&display=swap" rel="stylesheet">
<body>
<img src = "https://images.unsplash.com/photo-1518701005037-d53b1f67bb1c?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=926&q=80" alt="tulips"/>
<section class="poem">
<section class="head" onclick="popAlert()">
<p id="title"><ํ๋ค๋ฆฌ๋ฉฐ ํผ๋ ๊ฝ> ๐ท</p>
๐css
display: flex
๋ฅผ ์ถ๊ฐํ์ฌ ์ด๋ฏธ์ง๊ฐ ๋์ค๋ ๋ถ๋ถ๊ณผ ์์ ๋ด์ฉ์ด ๋์ค๋ ๋ถ๋ถ์ ๋ฐฐ์ด์ ์กฐ์ ํ์๋ค.font-family: 'Nanum Pen Script', cursive;
๋ผ๋ ํฐํธ๋ณ๊ฒฝ์ ์ํ ์ฝ๋๋ฅผ ์ถ๊ฐ๋ก ์์ฑํ์๋ค.body {
padding: 4rem;
white-space: nowrap;
display: flex;
font-family: 'Nanum Pen Script', cursive;
}
img {
width:600px;
height:500px;
}
.poem {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.head {
width: 50%;
margin-bottom: 2.5rem;
cursor: pointer;
}
#title {
text-align: left;
font-size: 2.7rem;
font-weight: 550;
color: #ffadad;
}
.text {
width: 50%;
font-size: 1.7rem;
line-height: 2.3rem;
}
.flower+.flower {
margin-bottom: 2.25rem;
}
p {
color:#52b788;
}
๐๊ฒฐ๊ณผ
์ฒ์์๋ ๊ณผ์ฐ ๋ด๊ฐ ์ค์ต๊ณผ์ ๋ฅผ ์ ํด๋ผ ์ ์์๊น ํ๋ ๊ฑฑ์ ์ด ์ปธ๋ค. ํ์ง๋ง Codepen ์ด๋ผ๋ ์ฌ์ดํธ์ ์๋ ์์๋ฅผ ๋ณด๋ฉฐ ์ฝ๋๋ฅผ ์์ฑํด๋ณด๊ณ ๊ตฌ๊ธ๋ง์ ํ์ฌ ์ป์ ์ ๋ณด๋ฅผ ํ ๋๋ก ์ฝ๋๋ฅผ ์์ ํด๋ณด๋ ๊ณผ์ ์ ๊ฑฐ์น๋ฉฐ ๋ฌด์ฌํ ์ค์ต๊ณผ์ ๋ฅผ ํด๋ผ ์ ์์๋ค. ๊ณผ์ ๋ฅผ ์์ ํ๊ธฐ ์ ์๋ ํฐ ๋ฐํ์ ๊ธฐ๋ณธ ํฐํธ์ ์๊ฐ ์ ํ์์์ง๋ง ๊ณผ์ ๋ฅผ ์์ ํ๊ณ ๋์๋ ์ด๋ฏธ์ง ์ฝ์ ๊ณผ ํฐํธ์์ , ์์ด์ฝ ์ถ๊ฐ, ๋ฐฐ์ด ์กฐ์ ์ ํตํด ์ ํ ๋ค๋ฅธ ์คํ์ผ๋ก ๋ฐ๋ ์ ์ด ์ ๊ธฐํ๋ค. ์์ผ๋ก์ ์ค์ต์์๋ ๋ ์ด๋ค ์๋ก์ด ๋ด์ฉ์ ๋ฐฐ์ฐ๊ฒ ๋ ์ง ๊ธฐ๋๊ฐ ๋๋ค:-)