GiantStepDEV
article thumbnail

์‹œ๋งจํ‹ฑ ํƒœ๊ทธ?

Semantic์€ '์˜๋ฏธ์˜', '์˜๋ฏธ๋ก ์ ์ธ' ์ด๋ผ๋Š” ๋œป์„ ๊ฐ€์ง„ ํ˜•์šฉ์‚ฌ ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์‹œ๋งจํ‹ฑ ํƒœ๊ทธ๋ž€ ๋ง ๊ทธ๋Œ€๋กœ ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ํƒœ๊ทธ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.

 

div๋‚˜ span๊ณผ ๊ฐ™์ด ์˜๋ฏธ๊ฐ€ ์—†๋Š” ํƒœ๊ทธ๋Š” ํƒœ๊ทธ ์ด๋ฆ„๋งŒ ๋ณด๊ณ  ์–ด๋– ํ•œ ๋‚ด์šฉ์ธ์ง€ ์•Œ ์ˆ˜๊ฐ€ ์—†๋Š” ๋ฐ˜๋ฉด,

form, table, article ๋“ฑ ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ํƒœ๊ทธ๋Š” ๋‚ด์šฉ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜ ํ•ฉ๋‹ˆ๋‹ค.

 

์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” ์›น ์‚ฌ์ดํŠธ์˜ ๋””์ž์ธ์€ ์„œ๋กœ ๋‹ฌ๋ผ ๋ณด์—ฌ๋„ ๊ทผ๋ณธ์ ์ธ ๊ตฌ์กฐ๋Š” ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค.

header์—๋Š” ์‚ฌ์ดํŠธ ์ œ๋ชฉ์ด๋‚˜ ๋กœ๊ณ ๊ฐ€ ์žˆ๊ณ , ๋ณธ๋ฌธ ์˜์—ญ, footer ์˜์—ญ, ์‚ฌ์ด๋“œ ๋ฐ” ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ๋งจํ‹ฑ ํƒœ๊ทธ ์‚ฌ์šฉ ์ด์œ 

์›น ์‚ฌ์ดํŠธ๋Š” ์‹œ๋งจํ‹ฑ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋”๋ผ๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์™œ ๊ตณ์ด ์‹œ๋งจํ‹ฑ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฑธ๊นŒ์š”?

  1. ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ html ์†Œ์Šค ์ฝ”๋“œ๋งŒ ๋ณด๊ณ ๋„ ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ ๋“ฑ์„ ์‰ฝ๊ฒŒ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์‹œ๊ฐ์žฅ์• ๊ฐ€ ์žˆ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€๋ฅผ ํƒ์ƒ‰ํ•  ๋•Œ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
  3. ๋์—†๋Š” div(div > div > div ...)๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ์‰ฝ์Šต๋‹ˆ๋‹ค.
  4. ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํ•ด๋‹น ์ฝ”๋“œ์˜ ๋ช…ํ™•ํ•œ ์˜๋ฏธ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

header

๐Ÿ“Œ ๋กœ๊ณ , ์•„์ด์ฝ˜, ํŽ˜์ด์ง€์˜ ์ œ๋ชฉ๊ณผ ๊ฐ™์€ ์†Œ๊ฐœ ๋‚ด์šฉ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

    header์™€ head๋Š” ์ด๋ฆ„์€ ๋น„์Šทํ•˜์ง€๋งŒ ์ „ํ˜€ ๋‹ค๋ฅธ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

nav

๐Ÿ“Œ ๋ฉ”๋‰ด, ๋ชฉ์ฐจ ๋“ฑ์— ์‚ฌ์šฉ๋˜๋ฉฐ, ์›น ํŽ˜์ด์ง€์—์„œ ๋‚ด๋ถ€์˜ ๋‹ค๋ฅธ ์˜์—ญ์ด๋‚˜ ์™ธ๋ถ€๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋งํฌ ์˜์—ญ์„ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

<header>
    <h1>ํšŒ์‚ฌ ๋กœ๊ณ  ๋ฐ ์ด๋ฆ„</h1>
    <nav>
    <ul>
        <li><a href="#">๋ฉ”๋‰ด1</a></li>
        <li><a href="#">๋ฉ”๋‰ด2</a></li>
        <li><a href="#">๋ฉ”๋‰ด3</a></li>
    </ul>
    </nav>
 </header>

section

๐Ÿ“Œ ์›น ํŽ˜์ด์ง€์—์„œ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ด€๋ จ ์žˆ๋Š” ๋‚ด์šฉ ์˜์—ญ์„ ๊ตฌ๋ถ„ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

article

๐Ÿ“Œ ์›น ํŽ˜์ด์ง€์—์„œ ๋…๋ฆฝ์ ์ธ ์˜์—ญ์„ ๊ตฌ๋ถ„ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

article ํƒœ๊ทธ๋ฅผ section ํƒœ๊ทธ์™€ ํ˜ผ๋™ํ•˜๊ธฐ๋„ ํ•˜๋Š”๋ฐ, section ํƒœ๊ทธ๋Š” ์›น ํŽ˜์ด์ง€ ์•ˆ์—์„œ ๊ด€๋ จ ์žˆ๋Š” ๋‚ด์šฉ์„ ๊ตฌ๋ถ„ํ•˜๊ณ , article ํƒœ๊ทธ๋Š” ์–ด๋–ค ์›น ํŽ˜์ด์ง€๋“  ๋…๋ฆฝ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜์—ญ์„ ๊ตฌ๋ถ„ํ•œ๋‹ค๋Š” ์ ์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

aside

๐Ÿ“Œ ๋ณธ๋ฌธ ๋‚ด์šฉ ์™ธ์— ์™ผ์ชฝ์ด๋‚˜ ์˜ค๋ฅธ์ชฝ, ํ˜น์€ ์•„๋ž˜์ชฝ์— ์‚ฌ์ด๋“œ ๋ฐ”๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    ๋ณดํ†ต ์›น ์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์ด๋“œ๋ฐ”๋Š” ํ•„์ˆ˜ ์š”์†Œ๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ํ•„์š”ํ•  ๊ฒฝ์šฐ์—๋งŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

main

๐Ÿ“Œ ์›น ํŽ˜์ด์ง€์˜ ์ฃผ์š” ๋‚ด์šฉ์„ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํƒœ๊ทธ ์ž…๋‹ˆ๋‹ค.

    main ํƒœ๊ทธ์—๋Š” ๋ฌธ์„œ์—์„œ ๋ฐ˜๋ณตํ•ด์„œ ๋™์ž‘ํ•˜๋Š” ์š”์†Œ๋ฅผ ํฌํ•จํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

    ๊ทธ๋ฆฌ๊ณ  main ํƒœ๊ทธ๋ฅผ article, aside, footer, header, nav ํƒœ๊ทธ์˜ ํ•˜์œ„์— ํฌํ•จํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

footer

๐Ÿ“Œ ์ผ๋ฐ˜์ ์œผ๋กœ ์„น์…˜์˜ ์ž‘์„ฑ์ž์— ๋Œ€ํ•œ ์ •๋ณด, ์ €์ž‘๊ถŒ ๋ฐ์ดํ„ฐ ๋˜๋Š” ๊ด€๋ จ ๋ฌธ์„œ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

<!DOCTYPE html>
<html>
  <head>
    <title>์‹œ๋งจํ‹ฑ ํƒœ๊ทธ ์˜ˆ์ œ</title>
  </head>
  <body>
    <header>
      <h1>ํšŒ์‚ฌ ๋กœ๊ณ </h1>
      <nav>
        <ul>
          <li><a href="#">๋ฉ”๋‰ด1</a></li>
          <li><a href="#">๋ฉ”๋‰ด2</a></li>
          <li><a href="#">๋ฉ”๋‰ด3</a></li>
        </ul>
      </nav>
    </header>
    <main>
      <article>
        <header>
          <h2>๊ธ€ ์ œ๋ชฉ</h2>
          <p>์ž‘์„ฑ์ผ: 2023๋…„ 3์›” 3์ผ</p>
        </header>
        <p>๋ณธ๋ฌธ ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.</p>
        <p>๋ณธ๋ฌธ ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.</p>
        <p>๋ณธ๋ฌธ ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.</p>
        <footer>
          <p>์ž‘์„ฑ์ž: John Doe</p>
        </footer>
      </article>
    </main>
    <footer>
      <p>์ €์ž‘๊ถŒ © 2023 ํšŒ์‚ฌ๋ช…. All rights reserved.</p>
    </footer>
  </body>
</html>

๐Ÿธ์˜ˆ์ œ

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Dream Jeju</title>
    <link rel="stylesheet" href="./css/style.css">
</head>
<body>
    <div id="container">
        <header>
            <div id="logo">
                <a href="#">
                    <h1>Dream Jeju</h1>
                </a>
            </div>
            <nav>
                <ul id="topMenu">
                    <li><a href="#">๋‹จ์ฒด ์—ฌํ–‰</a></li>
                    <li><a href="#">๋งž์ถค ์—ฌํ–‰</a></li>
                    <li><a href="#">๊ฐค๋Ÿฌ๋ฆฌ</a></li>
                    <li><a href="#">๋ฌธ์˜ํ•˜๊ธฐ</a></li>
                </ul>
            </nav>
        </header>
        <main class="contents">
            <section id="healing">
                <h2>๋ชธ๊ณผ ๋งˆ์Œ์ด ์น˜์œ ๋˜๋Š” ์„ฌ</h2>
                <div class="detail">
                    <img src="images/healing.jpg" alt="ํž๋ง์ด๋ฏธ์ง€">
                    <b><p>์‰ผ(Healing)์˜ ๊ณต๊ฐ„์œผ๋กœ ์•ˆ๋‚ด ํ•ฉ๋‹ˆ๋‹ค.</p></b>
                    <p>ํƒ ํŠธ์ธ ๋ฐ”๋‹ค, ์‹œ์›ํ•œ ๋ฐ”๋žŒ์— ๋ชธ์„ ๋งก๊ธฐ๊ณ  ๋šœ๋ฒ…๋šœ๋ฒ… 
                    ์˜ค๋ฆ„์„ ์˜ค๋ฅด๊ณ  ์˜ฌ๋ ›๊ธธ์„ ๊ฑท๋‹ค๋ณด๋ฉด ์˜จ์ „ํžˆ ๋‚˜์—๊ฒŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.</p>
                </div>
                <div class="schedule">
                    <h3>์ƒ์„ธ ์ผ์ •</h3>
                    <ul>
                        <li>์—ฌํ–‰ ๊ธฐ๊ฐ„ : 2๋ฐ• 3์ผ</li>
                        <li>์—ฌํ–‰ ์ผ์ • : ์—ฌํ–‰ ์ผ์ •์€ ์ƒ๋‹ด์„ ํ†ตํ•ด ๊ฒฐ์ • ๋ฐ ์กฐ์ • ๊ฐ€๋Šฅ ํ•ฉ๋‹ˆ๋‹ค.</li>
                    </ul>
                </div>
            </section>
            <section id="activity">
                <h2>๋‹ค์–‘ํ•œ ์•กํ‹ฐ๋น„ํ‹ฐ๊ฐ€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์„ฌ</h2>
                <div class="detail">
                    <img src="images/activity.jpg" alt="์•กํ‹ฐ๋น„ํ‹ฐ">
                    <b><p>๋ชจํ—˜๊ณผ ์Šค๋ฆด์ด ๋„˜์น˜๋Š” ๋ ˆ์ €์˜ ์ฒœ๊ตญ์œผ๋กœ ์•ˆ๋‚ด ํ•ฉ๋‹ˆ๋‹ค.</p></b>
                    <p>๋‘˜๋Ÿฌ๋ณด๊ธฐ๋งŒ ํ•˜๋Š” ์—ฌํ–‰์„ ํ•˜์…จ๋‚˜์š”? </p>
                    <p>ํ•˜๋Š˜์„ ๋‚ ๋ฉฐ ์‹œ์›ํ•œ ๋ฐ”๋‹ค๋ฅผ ๋‚ด๋ ค๋‹ค๋ณด๋Š” ํŒจ๋Ÿฌ๊ธ€๋ผ์ด๋“ฑ๊ณผ 
                    ํˆฌ๋ช…ํ•œ ๋ฌผ๋น› ์†์„ ์—ฌํ–‰ํ•˜๋Š” ์Šคํ‚จ์Šค์ฟ ๋ฒ„... ์•„๋ฆ„๋‹ค์šด ์ œ์ฃผ ํ•ด์•ˆ๋„๋กœ๋ฅผ 
                    ์”ฝ์”ฝ ์ „๋™๋ฐ”์ดํฌ๋‚˜ ์ „๋™ํ‚ฅ๋ณด๋“œ๋กœ ๋‹ฌ๋ ค๋ณด์„ธ์š”. 
                    ์‹œ์›ํ•œ ๋ฐ”๋‹ค๋ฅผ ๊ฐ€๊นŒ์ด์—์„œ ๋А๋‚„ ์ˆ˜ ์žˆ๋Š” ์š”ํŠธ ์ฒดํ—˜๊ณผ 
                    ๋ฐฐ๋‚š์‹œ๋„ ๋นผ๋†“์„ ์ˆ˜ ์—†๊ฒ ์ฃ ?</p>
                </div>
            </section>
        </main>
        <footer>
            <section id="bottomMenu">
                <ul>
                    <li><a href="#">ํšŒ์‚ฌ ์†Œ๊ฐœ</a></li>
                    <li><a href="#">๊ฐœ์ธ ์ •๋ณด ์ฒ˜๋ฆฌ ๋ฐฉ์นจ</a></li>
                    <li><a href="#">์—ฌํ–‰ ์•ฝ๊ด€</a></li>
                    <li><a href="#">์‚ฌ์ดํŠธ๋งต</a></li>
                </ul>
            </section>
        </footer>
    </div>
</body>
</html>
* {
    margin: 0; /* margin ์ดˆ๊ธฐํ™” */
    padding: 0; /* padding ์ดˆ๊ธฐํ™” */
    box-sizing: border-box; /* ์ค‘์š”! */
}
a {
    text-decoration: none;
}
ul {
    list-style: none;
}
/* #์€ id ์„ ํƒ์ž */
#container {
    margin: 0 auto; /* ํ™”๋ฉด ์ค‘์•™์— ๋ฐฐ์น˜ */
    width: 1200px; /* ๋„ˆ๋น„ */
    background-color: antiquewhite;
}
header {
    /* 100% ํฌ๊ธฐ๋Š” ์ƒ์œ„ ์˜์—ญ์˜ ํฌ๊ธฐ๋ฅผ ๋”ฐ๋ผ๊ฐ */
    width: 100%; 
    height: 100px;
    background-color: #045;
}
#logo {
    float: left;
    width: 250px;
    height: 100px;
    line-height: 100px;
    padding-left: 20px;
}
#logo h1 {
    font-weight: 700px;
    font-size: 40px;
    color: white;
}
nav {
    float: right;
    width: 900px;
    height: 100px;
    padding-top: 40px;
}
#topMenu {
    height: 60px;
}
#topMenu > li {
    float: left;
}
#topMenu > li > a {
    display:block;  /* ๋งํฌ ํ…์ŠคํŠธ๋Š” ๋ธ”๋ก์œผ๋กœ */ 
    font-size:1.1em;
    color:#fff;  /* ๊ธ€์ž ์ƒ‰ */
    font-weight:600;  /* ๊ธ€์ž ๊ตต๊ธฐ */
    padding:20px 60px;  /* ํŒจ๋”ฉ */ 
}
#topMenu > li > a:hover {
    color:#1fa8f8;
    text-shadow:0 -2px #222;
}

/* ๋ณธ๋ฌธ */
.contents {
    width:1000px;
    margin:50px auto;  
}
main > section {
    margin-top:60px;  
}
main h2 {    
    font-size:1.5em;
    line-height: 2.5;
}
main div {
    margin-top:20px;
}
main h3 {
    font-size:1.2em;
    line-height:2.2;
}
.detail p {
    line-height: 2.0;
    color:#222;
}
.detail > img {
    float:left; 
    margin-right:50px;
    border-radius:20px;
}
.schedule h4 {
    font-size:1.2em;
}
.schedule ul {
    list-style: none;
}
.schedule ul li { 
    line-height: 2;
}

/* ํ‘ธํ„ฐ ์˜์—ญ */
footer{   
    width:1200px;   /* ๋„ˆ๋น„ */
    height:100px;  /* ๋†’์ด */
    border-top:2px solid #222;
}
#bottomMenu{
    width:100%;
    height:20px;
    margin-left:60px;
}
#bottomMenu ul {
    margin-top:15px;  
}
#bottomMenu ul li{
    float:left;  /* ๊ฐ€๋กœ๋กœ ๋ฐฐ์น˜ */ 
    padding:5px 20px;
    border-right:1px solid #ddd;   /* ํ•ญ๋ชฉ ์˜ค๋ฅธ์ชฝ์— ํ…Œ๋‘๋ฆฌ */ 
}
#bottomMenu ul li:last-child{
    border:none;  /* ๋งˆ์ง€๋ง‰ ํ•ญ๋ชฉ์—๋Š” ์˜ค๋ฅธ์ชฝ ํ…Œ๋‘๋ฆฌ ์—†์Œ */  
}
#bottomMenu ul li a, #bottomMenu ul li a:visited {  
    font-size:15px;  /* ๊ธ€์ž ํฌ๊ธฐ */ 
    color:#666;   /* ๊ธ€์ž ์ƒ‰ */ 
}

๊ธ€๋กœ๋ฒŒ ์†์„ฑ

class ์†์„ฑ

์š”์†Œ์— ํด๋ž˜์Šค๋ช…์„ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉ ํ•ฉ๋‹ˆ๋‹ค. ํด๋ž˜์Šค๋ช…์€ CSS์—์„œ ํด๋ž˜์Šค ์„ ํƒ์ž๋กœ ํ™œ์šฉํ•˜๊ณ , ๊ฐ™์€ ํด๋ž˜์Šค๋ช…์€ ์—ฌ๋Ÿฌ ์š”์†Œ๊ฐ€ ์ค‘๋ณตํ•ด์„œ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

<p class="red"> ... </p>

id ์†์„ฑ

์š”์†Œ์— ์•„์ด๋””๋ฅผ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉ ํ•ฉ๋‹ˆ๋‹ค. ์•„์ด๋””๋Š” CSS์—์„œ ์•„์ด๋”” ์„ ํƒ์ž๋กœ ํ™œ์šฉํ•˜๋ฉฐ, ์ค‘๋ณต ๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

<p id="red"> ... </p>

style ์†์„ฑ

CSS ์ฝ”๋“œ๋ฅผ ์ธ๋ผ์ธ์œผ๋กœ ์ž‘์„ฑํ•  ๋•Œ ์‚ฌ์šฉ ํ•ฉ๋‹ˆ๋‹ค.

title ์†์„ฑ

title ์†์„ฑ์€ ์š”์†Œ์— ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๋„ฃ์„ ๋•Œ ์‚ฌ์šฉ ํ•ฉ๋‹ˆ๋‹ค.

title ์†์„ฑ์— ๋„ฃ์€ ๊ฐ’์€ ์š”์†Œ์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ํˆดํŒ์œผ๋กœ ํ‘œ์‹œ ๋ฉ๋‹ˆ๋‹ค.

profile

GiantStepDEV

@kongmi

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!