๊ฐœ๋ฐœ์ผ์ง€๐Ÿ“_01

1
post-thumbnail

๐Ÿ’ก ์ด๋ฒˆ ์ฃผ์—๋Š” ์›น์˜ ๋™์ž‘์›๋ฆฌ ๊ทธ๋ฆฌ๊ณ  ์›น์˜ ํ‘œ์ค€๊ธฐ์ˆ ์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. 'Visual Studio Code'๋ฅผ ๋‚ด ์ปดํ“จํ„ฐ์— ์„ค์น˜ํ•˜์—ฌ ์ฒ˜์Œ์œผ๋กœ HTML, CSS, JS ํŒŒ์ผ์„ ์ž‘์„ฑํ•ด๋ณด๊ธฐ๋„ ํ–ˆ๋‹ค. ๋˜ํ•œ 'Github'๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜์—ฌ ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ github์— ์˜ฌ๋ ค๋ณด๊ธฐ๋„ ํ–ˆ๋‹ค.

์ƒˆ๋กœ ๋ฐฐ์šด ๋‚ด์šฉ

  • ์›น : World Wide Web์˜ ์ค„์ž„๋ง, ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ๋ฅผ ํ†ตํ•ด ์‚ฌ๋žŒ๋“ค์ด ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๊ณต๊ฐ„

๐Ÿ“Œ์›น์€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ๊ณผ ์„œ๋ฒ„์˜ ์‘๋‹ต์œผ๋กœ ๋™์ž‘ํ•จ

  • ๋™์  ์›น ์‚ฌ์ดํŠธ์˜ ๋™์ž‘์›๋ฆฌ
    : ๋™์  ์‚ฌ์ดํŠธ๋Š” ํŠน๋ณ„ํ•œ 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๋ถ€๋ถ„์— ํฐํŠธ๋ณ€๊ฒฝ์„ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ ์ž‘์„ฑํ•˜์˜€๋‹ค. ํฐํŠธ๋Š” Google Fonts ์—์„œ ๊ฐ€์ ธ์™€ ์ ์šฉํ•˜์˜€๋‹ค.
<head>

    <link href="https://fonts.googleapis.com/css2?family=Nanum+Pen+Script&display=swap" rel="stylesheet">
  • ์ด๋ฏธ์ง€๋ฅผ ์ฒจ๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด img ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค. MDN Web Docs ์—์„œ ์ด๋ฏธ์ง€ ์‚ฝ์ž…์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • ์‹œ์˜ ์ œ๋ชฉ ์˜†์— ์•„์ด์ฝ˜(๐ŸŒท)์„ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค.
<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

  • body ๋ถ€๋ถ„์— display: flex๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ด๋ฏธ์ง€๊ฐ€ ๋‚˜์˜ค๋Š” ๋ถ€๋ถ„๊ณผ ์‹œ์˜ ๋‚ด์šฉ์ด ๋‚˜์˜ค๋Š” ๋ถ€๋ถ„์˜ ๋ฐฐ์—ด์„ ์กฐ์ •ํ•˜์˜€๋‹ค.
    body ๋ถ€๋ถ„์— font-family: 'Nanum Pen Script', cursive; ๋ผ๋Š” ํฐํŠธ๋ณ€๊ฒฝ์„ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€๋กœ ์ž‘์„ฑํ•˜์˜€๋‹ค.
  • text, title, head ๋ถ€๋ถ„์—์„œ ํฐํŠธ์‚ฌ์ด์ฆˆ ๋ฐ ํฐํŠธ ๊ตต๊ธฐ ๊ทธ๋ฆฌ๊ณ  ์ค„ ๊ฐ„๊ฒฉ์„ ๋ณ€๊ฒฝํ•˜์˜€๋‹ค.
  • ์‹œ์˜ ์ œ๋ชฉ ๋ถ€๋ถ„๊ณผ ์‹œ์˜ ๋‚ด์šฉ ๋ถ€๋ถ„์— ์„œ๋กœ ๋‹ค๋ฅธ ํฐํŠธ ์ƒ‰๊น”์„ ์ ์šฉํ•˜์˜€๋‹ค. coolors ๋ผ๋Š” ์‚ฌ์ดํŠธ์—์„œ ํฐํŠธ์ƒ‰๊น”์„ ๋ณต์‚ฌํ•ด์™€์„œ ์ ์šฉํ•˜์˜€๋‹ค(์ด๋•Œ ์•ž์— '#'์„ ๋ถ™์—ฌ์ค˜์•ผ ํ•จ)
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 ์ด๋ผ๋Š” ์‚ฌ์ดํŠธ์— ์žˆ๋Š” ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๊ณ  ๊ตฌ๊ธ€๋ง์„ ํ•˜์—ฌ ์–ป์€ ์ •๋ณด๋ฅผ ํ† ๋Œ€๋กœ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด๋ณด๋Š” ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉฐ ๋ฌด์‚ฌํžˆ ์‹ค์Šต๊ณผ์ œ๋ฅผ ํ•ด๋‚ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ณผ์ œ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์ „์—๋Š” ํฐ ๋ฐ”ํƒ•์— ๊ธฐ๋ณธ ํฐํŠธ์˜ ์‹œ๊ฐ€ ์ ํ˜€์žˆ์—ˆ์ง€๋งŒ ๊ณผ์ œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๋‚˜์„œ๋Š” ์ด๋ฏธ์ง€ ์‚ฝ์ž…๊ณผ ํฐํŠธ์ˆ˜์ •, ์•„์ด์ฝ˜ ์ถ”๊ฐ€, ๋ฐฐ์—ด ์กฐ์ •์„ ํ†ตํ•ด ์ „ํ˜€ ๋‹ค๋ฅธ ์Šคํƒ€์ผ๋กœ ๋ฐ”๋€ ์ ์ด ์‹ ๊ธฐํ–ˆ๋‹ค. ์•ž์œผ๋กœ์˜ ์‹ค์Šต์—์„œ๋Š” ๋˜ ์–ด๋–ค ์ƒˆ๋กœ์šด ๋‚ด์šฉ์„ ๋ฐฐ์šฐ๊ฒŒ ๋ ์ง€ ๊ธฐ๋Œ€๊ฐ€ ๋œ๋‹ค:-)

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด