๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Lect & Tip/bootstrap

๋ถ€ํŠธ์ŠคํŠธ๋žฉ width grid incorrect

by ๋‚ฏ์„ ๊ณต๊ฐ„2019 2023. 10. 22.

๋ชฉ์ฐจ

    ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์„ ํ™œ์šฉํ•œ ์›น ๋””์ž์ธ์—์„œ ๊ฐ€๋กœ ํญ ์กฐ์ ˆ

    ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์€ ๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋•Œ๋•Œ๋กœ, ํŠนํžˆ ์ƒˆ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ถ„๋“ค์—๊ฒŒ๋Š” ๊ทธ๋ฆฌ๋“œ ์‹œ์Šคํ…œ์ด๋‚˜ ์ปจํ…Œ์ด๋„ˆ ์‚ฌ์šฉ์— ์žˆ์–ด ํ˜ผ๋ž€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์˜ ๊ฐ€๋กœ ํญ(width) ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

    ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์˜ ๊ทธ๋ฆฌ๋“œ ์‹œ์Šคํ…œ ์ดํ•ด

    ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์˜ ๊ทธ๋ฆฌ๋“œ ์‹œ์Šคํ…œ์€ ์ปจํ…Œ์ด๋„ˆ, ํ–‰(row), ๊ทธ๋ฆฌ๊ณ  ์—ด(column) ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค์€ ๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์„œ๋กœ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ, .row ํด๋ž˜์Šค๋Š” ๊ฐ€๋กœ ๋ฐฉํ–ฅ์˜ ์—ฌ๋ฐฑ์„ ๋งŒ๋“ค์–ด๋‚ด๋Š”๋ฐ, ์ด๋Š” ์—ด๋“ค์ด ์ ์ ˆํ•œ ๊ฐ„๊ฒฉ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ์—ฌ๋ฐฑ์€ .row๊ฐ€ ๋ถ€๋ชจ ์š”์†Œ์˜ ๊ฒฝ๊ณ„๋ฅผ ๋ฒ—์–ด๋‚˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋ถ€ํŠธ์ŠคํŠธ๋žฉ width grid incorrect

    .row ํด๋ž˜์Šค๊ฐ€ ๋ถ€๋ชจ ์š”์†Œ์˜ ๊ฒฝ๊ณ„๋ฅผ ๋„˜์–ด์„œ๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ๊ณ , .info ๋ฐ ๋‹ค๋ฅธ ์š”์†Œ๋“ค๊ณผ์˜ ์ผ๊ด€์„ฑ์ด ๋–จ์–ด์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์˜ ๊ทธ๋ฆฌ๋“œ ์‹œ์Šคํ…œ์ด ์˜๋„ํ•œ ๋ฐ”์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

    ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” .container ๋˜๋Š” .container-fluid ํด๋ž˜์Šค๋ฅผ ์ ์ ˆํžˆ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์€ .row์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋  ๋•Œ, ์˜ฌ๋ฐ”๋ฅธ ํŒจ๋”ฉ๊ณผ ๋งˆ์ง„์„ ์„ค์ •ํ•˜์—ฌ ์š”์†Œ๋“ค์ด ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฐฉ์‹์œผ๋กœ ํ™•์žฅ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

    <div id="wrapper">
      <!-- .container ๋˜๋Š” .container-fluid ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. -->
      <div class="container">
        <div class="row">
          <div class="col-12">
            ...
          </div>
        </div>
      </div>
    </div>

    .container๋Š” ๋ฐ˜์‘ํ˜• ๊ณ ์ • ๋„ˆ๋น„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, .container-fluid๋Š” ์ „์ฒด ๋„ˆ๋น„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    ๊ตฌ์ฒด์ ์ธ ์ˆ˜์ • ๋ฐฉ๋ฒ•

    ๊ธฐ์กด์˜ ์ฝ”๋“œ์—์„œ .row ์š”์†Œ ์ฃผ๋ณ€์— .container ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ, ๊ทธ๋ฆฌ๋“œ์˜ ์Œ์ˆ˜ ๋งˆ์ง„์ด .container์— ์˜ํ•ด ์ƒ์‡„๋˜์–ด ๋‚ด๋ถ€ ์š”์†Œ๋“ค์ด ๋ถ€๋ชจ ์š”์†Œ๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

    ์•„๋ž˜๋Š” ์ˆ˜์ •๋œ ์˜ˆ์‹œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค:

    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
    <style>
    #wrapper {background: yellow; max-width: 500px; margin: 0 auto; }
    .info {background: blue;}
    #side {background: red}
    #data {background: orange;}
    </style>
    
    <div id="wrapper">
      <!-- .container ํด๋ž˜์Šค ์ถ”๊ฐ€ -->
      <div class="container">
        <div class="row">
          <div class="col-12">
            ...
            <div class="row">
              <!-- ๋‚ด๋ถ€ row์— ๋Œ€ํ•ด์„œ๋Š” container ํด๋ž˜์Šค๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค. -->
              <section id="side" class="col-md-4 col-lg-3">
                ...
              </section>
    
              <section class="col-md-8 col-lg-9">
                ...
              </section>
            </div>
          </div>
        </div>
      </div>
    </div>
    
    

    ์ฃผ์˜ ์‚ฌํ•ญ

    ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์˜ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ์–ด๋– ํ•œ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„์—์„œ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•  ๋•Œ๋งˆ๋‹ค ์›น ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ณ , ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๊ธฐ๋Œ€ํ•œ ๋Œ€๋กœ ์ ์šฉ๋˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

    ๋ถ€ํŠธ์ŠคํŠธ๋žฉ, ์›น ๋””์ž์ธ, ๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ, ๊ทธ๋ฆฌ๋“œ ์‹œ์Šคํ…œ, ์ปจํ…Œ์ด๋„ˆ, ์—ด, ํ–‰, CSS, ๋งˆ์ง„, ํŒจ๋”ฉ, ๋ถ€๋ชจ ์š”์†Œ, ์ž์‹ ์š”์†Œ, ๋„ˆ๋น„ ์กฐ์ ˆ, ์ตœ๋Œ€ ๋„ˆ๋น„, ๊ณ ์ • ๋„ˆ๋น„, ์ „์ฒด ๋„ˆ๋น„

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€