๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Site

[์‚ฌ์ดํŠธ ๋งŒ๋“ค๊ธฐ] ์นด๋“œ ์œ ํ˜• ์„น์…˜ ๋งŒ๋“ค๊ธฐ

by ์ฝ”๋”ฉ๊ณต์ฑ… 2022. 8. 8.
๋ฐ˜์‘ํ˜•

์‚ฌ์ดํŠธ ๋งŒ๋“ค๊ธฐ : ์นด๋“œ ์œ ํ˜•

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” Figma์—์„œ ๋งŒ๋“  ์นด๋“œ ์œ ํ˜• ์„น์…˜์„ HTML๊ณผ CSS ์ฝ”๋“œ๋กœ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…์„ ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
์ตœ๋Œ€ํ•œ ์›น ํ‘œ์ค€์„ ์ค€์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด ์‹œ๋งจํ‹ฑ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ด๋ฏธ์ง€ ์ถœ๋ ฅ ์‹œ figure ํƒœ๊ทธ๋กœ ๊ฐ์‹ธ๋ฉฐ, img ํƒœ๊ทธ์—์„œ alt(์„ค๋ช…)์นธ์— ๋ถ€์—ฐ ์„ค๋ช…์„ ๋„ฃ๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์žŠ์ง€ ๋ง๋„๋ก ํ•ฉ์‹œ๋‹ค!


Figma

๋จผ์ € ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ์›น ์‚ฌ์ดํŠธ์˜ ๋ชจ์–‘์„ Figma๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ด์šฉํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์ด ๋งŒ๋“ค์–ด์ฃผ๋„๋ก ํ•˜์ž.
์ด๋ฒˆ์— ๋งŒ๋“ค ์›น ์‚ฌ์ดํŠธ์˜ ์œ ํ˜•์€ ์นด๋“œ ์œ ํ˜• ์„น์…˜์ด๋‹ค.

HTML ์†Œ์Šค

์›น ํ‘œ์ค€ ์ค€์ˆ˜๋ฅผ ์œ„ํ•ด ์‹œ๋งจํ‹ฑ ํƒœ๊ทธ๋ฅผ ์ ๊ทน ์‚ฌ์šฉํ•˜๊ณ  img ํƒœ๊ทธ์—์„œ์˜ alt ๊ธฐ๋Šฅ๋„ ์ ๊ทน ํ™œ์šฉํ•  ๊ฒƒ.
์ž์„ธํ•œ ์„ค๋ช…์€ ์•„๋ž˜ ์˜ˆ์‹œ ์ฝ”๋“œ์˜ ์ฃผ์„์ฒ˜๋ฆฌ ๋‚ด์šฉ์„ ์ฐธ์กฐํ•  ๊ฒƒ.

<body>
    <section id="cardType" class="card__wrap nexon section">
        <h2>๋ณ„๋น› ์ œ๋นต๊ต์‹ค ๊ฐœ๊ฐ•์†Œ์‹๐Ÿž</h2>
        <p>๋ณ„๋น› ์ œ๋นต๊ต์‹ค์ด 2022๋…„ 8์›” 23์ผ ๊ฐœ๊ฐ•ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜๊ฐ•์‹ ์ฒญ ๊ธฐํšŒ๋Š” ์ง€๊ธˆ ๋ฟ์ด๋‹ˆ ์„œ๋‘๋ฅด์„ธ์š”!</p>
        <div class="card__inner container">
            <article class="card">
                <!-- ์ด๋ฏธ์ง€ ๋„ฃ์„ ๋•Œ ๊ทธ๋ƒฅ imgํƒœ๊ทธ ์“ฐ์ง€๋ง๊ณ  figure ํƒœ๊ทธ ์•ˆ์— ๋„ฃ์–ด์„œ ์จ์•ผ ์›นํ‘œ์ค€ ์ค€์ˆ˜ํ•œ๊ฑฐ์ž„ -->
                <figure class="card__header">
                    <img src="img/card_bg01.jpg" alt="์ œ๋นต ๊ธฐ์ดˆ ๊ฐ•์˜">
                </figure>
                <div class="card__body">
                    <h3 class="title">์ œ๋นต ๊ธฐ์ดˆ ๊ฐ•์˜</h3>
                    <p class="desc">
                        ์ œ๋นต์˜ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. ์ดˆ์‹ฌ์ž๋„ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๊ฐ•์˜๊ฐ€ ์ง„ํ–‰๋˜๋ฉฐ 
                        ์ดˆ๋ฐ˜์—๋Š” ์ด๋ก  ๊ฐ•์˜๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ์ค‘๋ฐ˜๋ถ€ํ„ฐ๋Š” ์‹ค์Šต์„ ์‹œ์ž‘ํ•˜์—ฌ ์ œ๋นต์˜ ๊ธฐ์ดˆ๋ฅผ ์ตํžˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
                    </p>
                    <a class="btn" href="/">๋” ์ž์„ธํžˆ ๋ณด๊ธฐ</a>
                </div>
            </article>
            <article class="card">
                <figure class="card__header">
                    <img src="img/card_bg02.jpg" alt="์ œ๋นต ์‹ฌํ™” ๊ณผ์ •">
                </figure>
                <div class="card__body">
                    <h3 class="title">์ œ๋นต ์‹ฌํ™” ๊ณผ์ •</h3>
                    <p class="desc">
                        ์ด์ œ ๊ธฐ์ดˆ ๊ฐ•์˜๊ฐ€ ๋„ˆ๋ฌด ์‰ฌ์›Œ ์‹œ์‹œํ•˜๋‹ค๊ณ  ๋Š๊ปด์งˆ ์ฆˆ์Œ ์‹ฌํ™”๊ณผ์ •์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋  ๊ฒ๋‹ˆ๋‹ค.
                        ์‹œ์ค‘์— ํŒ๋งค๋˜๊ณ  ์žˆ๋Š” ์ œ๊ณผ์  ๋นต๋“ค์„ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
                    </p>
                    <a class="btn" href="/">๋” ์ž์„ธํžˆ ๋ณด๊ธฐ</a>
                </div>
            </article>
            <article class="card">
                <figure class="card__header">
                    <img src="img/card_bg03.jpg" alt="๋‚˜๋งŒ์˜ ์ œ๋นต ํฌํŠธํด๋ฆฌ์˜ค ๋งŒ๋“ค๊ธฐ">
                </figure>
                <div class="card__body">
                    <h3 class="title">๋‚˜๋งŒ์˜ ์ œ๋นต ํฌํŠธํด๋ฆฌ์˜ค ๋งŒ๋“ค๊ธฐ</h3>
                    <p class="desc">
                        ์ด์ œ ๋นต์ง‘ ์ฐฝ์—…ํ•ด๋„ ๋ฌธ์ œ ์—†์„ ์ •๋„์˜ ์‹ค๋ ฅ์„ ๊ฐ–์ถ”๊ฒŒ ๋˜์…จ์„ ๊ฒ๋‹ˆ๋‹ค! ์ด์ œ๋Š” ๋Šฅ์ˆ™ํ•ด์ง„ ์ œ๋นต ์‹ค๋ ฅ์—
                        ๋‚˜๋งŒ์˜ ๊ฐœ์„ฑ์„ ๋”ํ•˜์—ฌ ํŠผํŠผํ•œ ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๋งŒ๋“ค์–ด๋ณด์•„์š”!
                    </p>
                    <a class="btn" href="/">๋” ์ž์„ธํžˆ ๋ณด๊ธฐ</a>
                </div>
            </article>
        </div>
    </section>
</body>

CSS ์†Œ์Šค

reset์—์„œ margin๊ฐ’๊ณผ padding๊ฐ’์„ 0์œผ๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚ค๋Š” ์ž‘์—…๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค.
์ž์„ธํ•œ ์„ค๋ช…์€ ์•„๋ž˜ ์˜ˆ์‹œ ์ฝ”๋“œ์˜ ์ฃผ์„์ฒ˜๋ฆฌ๋œ ๋‚ด์šฉ์„ ์ฐธ์กฐํ•  ๊ฒƒ.

<style>
    /* fonts */
    @import url('https://webfontworld.github.io/NexonLv1Gothic/NexonLv1Gothic.css');
    
    .nexon {    
        font-family: 'NexonLv1Gothic';
        font-weight: 400;
    }

    /* reset */
    * {
        margin: 0;
        padding: 0;
    }
    h1, h2, h3, h4, h5, h6 {
        font-weight: normal;    /* ํฐํŠธ ๊ตต๊ธฐ ์ดˆ๊ธฐํ™” */
    }
    a {
        text-decoration: none;
        color: #000;    /* ํ•˜์ดํผ๋งํฌ ๋ฐ‘์ค„ ๋ฌดํšจํ™” */
    }
    img {
        width: 100%;    /* ์ด๋ฏธ์ง€ ํŠ€์–ด๋‚˜์˜จ ๊ฑฐ ์ง‘์–ด๋„ฃ๊ธฐ */
    }

    /* common */
    .container {
        width: 1160px;
        padding: 0 20px;
        margin: 0 auto;
    }
    .section {
        padding: 120px 0;
    }
    .section > h2 {
        font-size: 50px;
        line-height: 1;
        text-align: center;
        margin-bottom: 20px;
    }
    .section > p {
        font-size: 22px;
        font-weight: 300;
        text-align: center;
        margin-bottom: 70px;
        color: #666;
    }

    /* cardType */
    .card__inner {
        display: flex;
        justify-content: space-between;     /* ๊ฐ„๊ฒฉ ๋–จ์–ด๋œจ๋ฆฌ๊ธฐ */
    }
    .card {
        width: 32%;     /* ํ–ฅํ›„ ๋ฐ˜์‘ํ˜•์„ ์œ„ํ•ด ๋ฐฑ๋ถ„์œจ๋กœ ์ž…๋ ฅ */
        background: #f5f5f5;
    }
    .card__body {
        padding: 24px;
    }
    .card__body .title {
        font-size: 22px;
        padding-bottom: 10px;
    }
    .card__body .desc {
        font-size: 18px;
        font-weight: 300;
        line-height: 1.4;
        padding-bottom: 20px;
        color: #666;
    }
    .card__body .btn {

    }
</style>

์ตœ์ข… ๊ฒฐ๊ณผ

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€


Reference Book

JavaScript
HTML
CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘์ž…๋‹ˆ๋‹ค.