๋ถํธ์คํธ๋ฉ 5๋ฅผ ์ฌ์ฉํ๋ฉด ์น ๊ฐ๋ฐ์๊ฐ ๊ฐ๋ ฅํ๊ณ ์๋ต์ฑ์ด ๋ฐ์ด๋ ์น ์์ฉ ํ๋ก๊ทธ๋จ์ ์ ์ํ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ์ฌ์ค, ์ฌ๋ฌ๋ถ์ด ๋ง ์์ํ ๊ฒ์ด๋ ์น ๊ฐ๋ฐ ์ ๋ฌธ๊ฐ์ด๋ ์๊ด์ด ์์ต๋๋ค. ๋ถํธ์คํธ๋ฉ 5๊ฐ ์ฌ๋ฌ๋ถ์ ๋ ๋ซ๊ฒ ํด์ค ๊ฒ์ ์ค์ํ์ง ์์ต๋๋ค.
์ด ๋น๋์ค์์๋ ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ์ง ์๊ณ ์ฝ๊ณ ์๋ต์ฑ์ด ๋ฐ์ด๋ ๋์์ธ๊ณผ ์น ์ฌ์ดํธ์ ๋คํฌ ๋ชจ๋๋ฅผ ๋น ๋ฅด๊ฒ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ ๋ฑ ๋ถํธ์คํธ๋ฉ์ด ์ ๊ณตํ๋ 5๊ฐ์ง ๋น ๋ฅธ ์ด์ ์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ๋ค์ ๋๋ฌํ๊ธฐ ์ ์, ์ ๋ ๋ถํธ์คํธ๋ฉ์ ๋๋ฌ์ผ ํ ๊ฐ์ง ์ ํ๋ฅผ ๋ค๋ฃฐ ๊ฒ์ ๋๋ค.
์ถ์ฒ: 5 Quick Wins in Bootstrap 5 (plus dispelling 1 major myth) - YouTube
1. Code ๋๋ Visual Studio์์ htmlํ์ด์ง ํ๋ ์์ฑํฉ๋๋ค.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="description" content="BootStrap Demo"/>
<title>BootStrap 5 Demo</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ" crossorigin="anonymous">
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" crossorigin="anonymous"></script>
</body>
</html>
๊ธฐ๋ณธ์ ์ผ๋ก ์์๊ฐ์ด bootstrap์ Link ํด์ค๋๋ค. (Guide :์์ํ๊ธฐ ยท Bootstrap v5.1)
๊ทธ๋ฆฌ๊ณ Body ์์ ๋งค์ธ Section์ ๋ฃ์ด์ค๋๋ค.
<main class="container">
<h1>BootStap 5 Hello world</h1>
<div class="row">
<div>
/๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ
๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ
๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ/
</div>
<div>
/๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ
๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ
๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ/
</div>
<div>
/๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ
๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ
๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ/
</div>
</div>
</main>
์คํํ๋ฉด
์ด์ ๊ตฌ๋ถ์ด ์ ์๊ฐ๋ div์ ํ ๋๋ฆฌ๋ฅผ ํด๋ณด๊ฒ ์ต๋๋ค.
<div class="row">
<div class="border border-dark-subtle">
Bla Bla
</div>
...
Row Tag ๋ฐ์ div tag์ class์ border border-dark-subtle ์ค๋๋ค.
- border css๋ฅผ ์์ธํ ๋ณด์ค๋ ค๋ฉด Borders ยท Bootstrap v5.3
๊ฒฐ๊ณผ
์ด์ div๋ฅผ ๊ฐ๋ก๋ก ๋ํ๋ณด๊ฒ ์ต๋๋ค.
<div class="border border-dark-subtle col">
</div >
div class์ col style๋ง ์ถ๊ฐํ๋ฉฐ
์ด๋ ๊ฒ ๋์ต๋๋ค.
์ด๋ฏธ์ง๋ฅผ ๋ฃ์ด๋ณด๊ฒ ์ต๋๋ค.
<div class="row">
<div class="border border-dark-subtle col ">
<img class="img-fluid" src="https://picsum.photos/1600/900" />
</div>
<div class="border border-dark-subtle col ">
/๋ํด ๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ /
</div>
์ด๋ ๊ฒ ํ์๋ฉ๋๋ค. img class ๋ Images ยท Bootstrap v5.3 ์ฐธ๊ณ ํ์ธ์
์ถ๊ฐ๋ก ์ ๋ ฌ class๋ฅผ ์ถ๊ฐํด๋ณด๊ฒ ์ต๋๋ค.
<div class="border border-dark-subtle col col-xxl-2 col-xl-3 col-lg-4 col-md-6">
์ค์ท์์๋ ์ํํ์ ์๋ผ์ง๋ง browser ์ฌ์ด์ฆ๋ฅผ ๋ณ๊ฒฝํ ๋๋ง๋ค ๋ฐ์ํ์ผ๋ก ํ์๋ฉ๋๋ค.
์์ธํ๊ฒ์ Grid system ยท Bootstrap v5.3
Dark Mode ์ถ๊ฐํ๊ธฐ
Bootstrap 5.3 ๋ถํฐ๋ dark mode๋ฅผ ์์ฝ๊ฒ ๋ฃ์์ ์์ต๋๋ค.
<html data-bs-theme="dark">
<head>
data-bs-theme=โdarkโ html ์ ํด๋น ํค์๋๋ฅผ ๋ฃ์ผ๋ฉด
์์ฝ๊ฒ ๋คํฌ๋ชจ๋์ ์ง์
ํฉ๋๋ค.
์ด์์ ๋๋ค. ^^
Full Source
<!DOCTYPE html>
<html data-bs-theme="dark">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="description" content="BootStrap Demo"/>
<title>BootStrap 5 Demo</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ" crossorigin="anonymous">
</head>
<body>
<main class="container">
<h1>BootStap 5 Hello world</h1>
<div class="row">
<div class="border border-dark-subtle col col-xxl-2">
<img class=" col-xxl-2" src="https://picsum.photos/1600/900" />
</div>
<div class="border border-dark-subtle col col-xxl-2 col-xl-3 col-lg-4 col-md-6">
/๋ํด ๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ
๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ
๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ/
</div>
<div class="border border-dark-subtle col col-xxl-2 col-xl-3 col-lg-4 col-md-6">
/๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ
๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ
๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ/
</div >
<div class="border border-dark-subtle col col-xxl-2 col-xl-3 col-lg-4 col-md-6">
/๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ
๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ
๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ฟ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ์ฐ๋ฆฌ๋๋ผ๋ง์ธ/
</div >
</div>
</main>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" crossorigin="anonymous"></script>
</body>
</html>
timcorey ์ ์๋์ ๊ฐ์ข์ค ํ๋๋ฅผ ์ค์ตํด๋ดค์ต๋๋ค. ์ด์ง ์๋ง์ ๊ฐ์ข์ค์ pick์ ์๋ชปํ
์๊ฐ(?) ์ ๋ค์ง๋ง ๋์์ด ๋์
จ์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค ^^