์ผ๊ณฑ ๋ฒˆ์งธ ๋ฌธ์ œ: Grid์™€ Flexbox๋ฅผ ํ˜ผํ•ฉํ•œ ๋Œ€์‹œ๋ณด๋“œ ๋ ˆ์ด์•„์›ƒ ๋งŒ๋“ค๊ธฐ

2025. 10. 27. 14:09ยทw. Gemini

์š”๊ตฌ์‚ฌํ•ญ

  1. HTML ๊ตฌ์กฐ:
    • <div class="dashboard-container">๋ฅผ ์ „์ฒด ๋ ˆ์ด์•„์›ƒ์˜ ์ตœ์ƒ์œ„ ์ปจํ…Œ์ด๋„ˆ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • ์ปจํ…Œ์ด๋„ˆ ์•ˆ์— ๋‹ค์Œ ์„ธ ๊ฐœ์˜ ์ฃผ์š” ์˜์—ญ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค:
      • <header class="header"> (์ƒ๋‹จ ๋ฉ”๋‰ด)
      • <aside class="sidebar"> (์ขŒ์ธก ๋ฉ”๋‰ด)
      • <main class="main-content"> (์ฃผ์š” ์ฝ˜ํ…์ธ )
    • main-content ์•ˆ์—๋Š” 4๊ฐœ์˜ ์ž‘์€ ๋ฐ•์Šค(<div class="data-card">)๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  2. CSS - ์ „์ฒด Grid ๋ ˆ์ด์•„์›ƒ ์„ค์ •:
    • .dashboard-container์— Grid ์‹œ์Šคํ…œ์„ ์„ค์ •ํ•˜์—ฌ ๋ ˆ์ด์•„์›ƒ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
    • ํ–‰ (Row) ์ •์˜:
      • ์ฒซ ๋ฒˆ์งธ ํ–‰ (ํ—ค๋”): ๋†’์ด 60px
      • ๋‘ ๋ฒˆ์งธ ํ–‰ (์‚ฌ์ด๋“œ๋ฐ”/๋ณธ๋ฌธ): ๋‚จ์€ ๊ณต๊ฐ„์„ ๋ชจ๋‘ ์‚ฌ์šฉ (1fr)
    • ์—ด (Column) ์ •์˜:
      • ์ฒซ ๋ฒˆ์งธ ์—ด (์‚ฌ์ด๋“œ๋ฐ”): ๋„ˆ๋น„ 200px
      • ๋‘ ๋ฒˆ์งธ ์—ด (๋ณธ๋ฌธ): ๋‚จ์€ ๊ณต๊ฐ„์„ ๋ชจ๋‘ ์‚ฌ์šฉ (1fr)
    • ์˜์—ญ ๋ฐฐ์น˜: header๋Š” 1ํ–‰์˜ ๋ชจ๋“  ์—ด์„ ์ฐจ์ง€ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. sidebar์™€ main-content๋Š” 2ํ–‰์— ๊ฐ๊ฐ ๋ฐฐ์น˜๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  3. CSS - Grid ๋‚ด๋ถ€ Flexbox ์‚ฌ์šฉ:
    • .main-content ์•ˆ์— ์žˆ๋Š” 4๊ฐœ์˜ .data-card๋ฅผ ๊ฐ€๋กœ๋กœ ๊ท ์ผํ•˜๊ฒŒ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.
    • .main-content์— Flexbox๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ž์‹ ์š”์†Œ(4๊ฐœ์˜ ์นด๋“œ)๊ฐ€ ๊ฐ€๋กœ๋กœ ํ•œ ์ค„์— 4๊ฐœ์”ฉ ๋ฐฐ์น˜๋˜๊ณ , ํ•ญ๋ชฉ ์‚ฌ์ด์— 20px์˜ ๊ฐ„๊ฒฉ์ด ์ƒ๊ธฐ๋„๋ก ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    • .data-card๋Š” ์ปจํ…Œ์ด๋„ˆ ๋„ˆ๋น„๋ฅผ ๊ท ๋“ฑํ•˜๊ฒŒ ๋‚˜๋ˆ„์–ด ๊ฐ€์ง€๋„๋ก ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. (๊ฐ ์นด๋“œ์— padding: 15px, background-color: #eee๋ฅผ ์ ์šฉํ•˜์—ฌ ์‹œ๊ฐํ™”ํ•ฉ๋‹ˆ๋‹ค.)
  4. CSS - ์‹œ๊ฐํ™” ๋ฐ ์Šคํƒ€์ผ:
    • .header์™€ .sidebar์— ๋ฐฐ๊ฒฝ์ƒ‰์„ ์„ค์ •ํ•˜์—ฌ ์˜์—ญ์„ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. (์˜ˆ: #333 / #444)
    • ์ „์ฒด ์ปจํ…Œ์ด๋„ˆ๋Š” ์ตœ์†Œ ๋†’์ด๋ฅผ **100vh**๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

 

๋”๋ณด๊ธฐ
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body {
            margin: 0;
        }
        .dashboard-container {
            display: grid;
            width: 100%;
            height: 100%;
            min-height: 100vh;
            grid-template-rows: 60px 1fr;
            grid-template-columns: 200px 1fr;
        }
        .header {
            grid-column: 1 / span 2;
            background-color: #333;
        }
        .sidebar {
            grid-column: 1;
            grid-row: 2;
            background-color: #444;
        }
        .main-content {
            grid-column: 2;
            grid-row: 2;
            display: grid;
            grid-template-columns: repeat(4,1fr);
            gap: 20px;
        }
        .main-content .data-card {
            padding: 15px;
            background-color: #eee;
        }
    </style>
</head>
<body>
    <div class="dashboard-container">
        <header class="header"></header>
        <aside class="sidebar"></aside>
        <main class="main-content">
            <div class="data-card"></div>
            <div class="data-card"></div>
            <div class="data-card"></div>
            <div class="data-card"></div>
        </main>
    </div>
</body>
</html>
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด (์ƒˆ์ฐฝ์—ด๋ฆผ)

'w. Gemini' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์•„ํ™‰ ๋ฒˆ์งธ ๋ฌธ์ œ: Light/Dark ๋ชจ๋“œ ํ† ๊ธ€ ๋ฒ„ํŠผ ๋งŒ๋“ค๊ธฐ  (0) 2025.10.27
์—ฌ๋Ÿ ๋ฒˆ์งธ ๋ฌธ์ œ: Grid Area๋ฅผ ํ™œ์šฉํ•œ ๋ธ”๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ๋งŒ๋“ค๊ธฐ  (0) 2025.10.27
์—ฌ์„ฏ ๋ฒˆ์งธ ๋ฌธ์ œ: ์Šคํฌ๋กค ๋ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๊ฐ€ ์žˆ๋Š” ํ—ค๋” ๋งŒ๋“ค๊ธฐ  (0) 2025.10.27
๋‹ค์„ฏ ๋ฒˆ์งธ ๋ฌธ์ œ: CSS ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•œ ์ปค์Šคํ…€ ์ž…๋ ฅ ํ•„๋“œ ๋งŒ๋“ค๊ธฐ  (0) 2025.10.27
๋„ค ๋ฒˆ์งธ ๋ฌธ์ œ: ํˆดํŒ์„ ํฌํ•จํ•˜๋Š” ๋ฒ„ํŠผ ๋งŒ๋“ค๊ธฐ  (0) 2025.10.27
'w. Gemini' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ์•„ํ™‰ ๋ฒˆ์งธ ๋ฌธ์ œ: Light/Dark ๋ชจ๋“œ ํ† ๊ธ€ ๋ฒ„ํŠผ ๋งŒ๋“ค๊ธฐ
  • ์—ฌ๋Ÿ ๋ฒˆ์งธ ๋ฌธ์ œ: Grid Area๋ฅผ ํ™œ์šฉํ•œ ๋ธ”๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ ๋งŒ๋“ค๊ธฐ
  • ์—ฌ์„ฏ ๋ฒˆ์งธ ๋ฌธ์ œ: ์Šคํฌ๋กค ๋ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๊ฐ€ ์žˆ๋Š” ํ—ค๋” ๋งŒ๋“ค๊ธฐ
  • ๋‹ค์„ฏ ๋ฒˆ์งธ ๋ฌธ์ œ: CSS ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•œ ์ปค์Šคํ…€ ์ž…๋ ฅ ํ•„๋“œ ๋งŒ๋“ค๊ธฐ
๋น™๊ณ ๊ตฌ๋ง›ํƒ•
๋น™๊ณ ๊ตฌ๋ง›ํƒ•
  • ๋น™๊ณ ๊ตฌ๋ง›ํƒ•
    ๐•Ž๐”ผ๐”น ๐”ธ๐•ƒ๐•ƒ ๐•ƒ๐•†๐”พ
    ๋น™๊ณ ๊ตฌ๋ง›ํƒ•
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๋ฐฉ๋ช…๋ก
    • ๊ธ€์“ฐ๊ธฐ
    • ๊ด€๋ฆฌ์ž
    • ์ „์ฒด๋ณด๊ธฐ N
      • w. Gemini N
      • w. GPTs
      • Before. 2021
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    min-height:100%
    ie9 ์„  ๋ฒ„๊ทธ
    footer ๊ณ ์ •
    border-collapse ์˜ค๋ฅ˜
    input fileํƒœ๊ทธ ๋ฐ”๊พธ๊ธฐ
    box-shadow
    footer ํ•˜๋‹จ์— ๊ณ ์ •
    css3
    ie collapse ๋ฒ„๊ทธ
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.5
๋น™๊ณ ๊ตฌ๋ง›ํƒ•
์ผ๊ณฑ ๋ฒˆ์งธ ๋ฌธ์ œ: Grid์™€ Flexbox๋ฅผ ํ˜ผํ•ฉํ•œ ๋Œ€์‹œ๋ณด๋“œ ๋ ˆ์ด์•„์›ƒ ๋งŒ๋“ค๊ธฐ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”