0. ๋ถํธ์คํธ๋ฉ1. ๋ถํธ์คํธ๋ฉ ์ ์ฉ2. ๊ทธ๋ฆฌ๋3. ์ด๋ฏธ์ง4. ํ
์ด๋ธ5. ๋ฒํผ6. CARD7. ์บ๋ฌ์
8. ๋ง๋ฌด๋ฆฌํ๋ฉฐ
0. ๋ถํธ์คํธ๋ฉ
๋ถํธ์คํธ๋ฉ์ ์น ํ๋ ์ ์ค ์
๋๋ค. ํ๋ ์ ์ค์ ์ต์ํ์ ์์
์ผ๋ก ๋น ๋ฅด๊ฒ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค ์ ์๋๋ก ๊ตฌ์ถํด ๋์ ์ข
ํฉ ๊ณต๊ตฌ ์ธํธ๋ผ๊ณ ์๊ฐํ์๋ฉด ์ฝ์ต๋๋ค.
๋ถํธ์คํธ๋ฉ์ ํฐ ๋ชจ๋ํฐ ํ๋ฉด์ผ๋ก ๋ณด๋์ง ํด๋ํฐ์ฒ๋ผ ์์ ํ๋ฉด์ผ๋ก ๋ณด๋์ง ์๊ด ์์ด ์ฌ์ฉ์์ ์์ ์ ๋ง์ถฐ ์ต์ ํ ๋์ด ํ๋ฉด์ ๊ตฌ์ฑํฉ๋๋ค.ย ์ด๋ ๊ฒ ์ฌ์ฉ์์ ์์ ์ ๋ง์ถฐ ๊ตฌ์ถ๋๋ ์ฌ์ดํธ๋ฅผ ๋ฐ์ํ ์ฌ์ดํธ๋ผ๊ณ ํ๋๋ฐ ๋ถํธ์คํธ๋ฉ์ ๋ฐ์ํ ์ฌ์ดํธ๋ฅผ ๊ตฌ์ถํ๊ธฐ์ ์ต์ ํ ๋์ด ์์ต๋๋ค.
๋ถํธ์คํธ๋ฉ์ form, button, table, navigator๊ฐ HTML, CSS๋ก ๋ฏธ๋ฆฌ ๋์์ธ ๋์ด ์์ต๋๋ค. ๋ถํธ์คํธ๋ฉ 3์์ ์ฌ์ฉํ๋ ๋๋ถ๋ถ์ ํ๊ทธ๋ค์ด ๊ทธ๋๋ก ์ด์์์ง๋ง ๋ง์ ๋ถ๋ถ์ด ๋ฐ๋์๊ธฐ ๋๋ฌธ์ ์๋ก ๊ณต๋ถ๋ฅผ ํ์
์ผ ํฉ๋๋ค.
๋ถํธ์คํธ๋ฉย 4๊ฐ ๋์จ์ง ๋ฒ์จ 2๋
์ด ๋์๊ณ , ์ด์ ๋ถํธ์คํธ๋ฉ ๊ณต์ ๋ฒ์ (21๋
)์ 5๋ก ๋์ด๊ฐ์ต๋๋ค. ๊ทธ๋ผ์๋ ์์ค์๋ ๋ถํธ์คํธ๋ฉ 3 ์ฑ
์ด ์๊ณ , ๊ตฌ๊ธ์์ ํ๊ตญ์ด๋ก ๋ถํธ์คํธ๋ฉ์ ๊ฒ์ํ๋ฉด ์์ง๋ 3.0 Ver ๋ฒ์ญ ํ์ด์ง๊ฐ ๋์ค๊ธฐ์ Version์ ์ ์ํ์
์ ๊ฐ๋ฐ์ ํ์
์ผ ํฉ๋๋ค.
bootstrap4์ bootstrap5์ ๊ฐ์ฅ ํฐ ์ฐจ์ด๋ JQeury๊ฐ ์์ด์ก๋ค๋ ๊ฒ์
๋๋ค.
ย
1. ๋ถํธ์คํธ๋ฉ ์ ์ฉ
https://getbootstrap.com/์์ ๋ค์ด๋ก๋ ๋ฐ์ ์ ์์ต๋๋ค.
โข ์ค์ต์ ๋ค์ด๋ก๋๋ฅผ ๋ฐ์ง ์๊ณ ์งํํ๋ ๋ค์ด๋ก๋๋ฅผ ์๋ฐ์ผ์
๋ ๋ฉ๋๋ค
ย
- ์๋ฌธ ํํ์ด์ง : https://getbootstrap.com/(Ver 5.0.0 )

๋ถํธ์คํธ๋ฉ์ ์ด์ฉํ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ๋ ์ด์์์ ๋ง๋ค ์ ์์ต๋๋ค. ๋ถํธ์คํธ๋ฉ ๊ณต์ ํํ์ด์ง์์ Examplesย ํญ์์ ๋ค์ํ ๋ ์ด์์์ ํ์ธํด๋ณด์ธ์!
์ ๋ฃ ํ
ํ๋ฆฟ ์ฌ์ดํธ๋ https://wrapbootstrap.com/ ๋ฅผ ์ฐธ๊ณ ํด๋ณด์ธ์.
ย

ย
ย

ย
์, ์ด์ ๋ถํธ์คํธ๋ฉ์ ์ ์ฉ์์ผ ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์ ๋ค์
001.html
๋ก ์ ์ฅํด์ฃผ์ธ์. ํต์ฌ์ ์ธ ์ฝ๋๋ง ๋ฃ์ด๋์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ๋ฒ์ ์์๋ jQuery๊ฐ ์์ด์ง๋ ์ด ์ ๋ ์ ๋
ํด์ฃผ์ธ์.ย
์๋ ์ฝ๋ ์์ฑ ์์ ์ 21๋
1์ 27์ผ์
๋๋ค. ์ด ๋ฒ์ ์ด ๋๋ฌด ์ค๋๋์๋ค๋ฉด notion์์ commet ๋ถํ๋๋ฆฝ๋๋ค.
<!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Bootstrap CSS --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet"> <title>Hello, world!</title> </head> <body> <h1>Hello, world!</h1> <!-- Optional JavaScript; choose one of the two! --> <!-- Option 1: Bootstrap Bundle with Popper --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js"></script> <!-- Option 2: Separate Popper and Bootstrap JS --> <!-- <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.4/dist/umd/popper.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.min.js"></script> --> </body> </html>
2. ๊ทธ๋ฆฌ๋
์ฒ์์๋ ๊ทธ๋ฆฌ๋ ์์คํ
์ ๋ํด ์์๋ณผ ๊ฒ์
๋๋ค. ์๋ ๊ณต์ ํํ์ด์ง ๊ธ์๋ ๋์ ์๋ ๊ฒ์ฒ๋ผ ๋ถํธ์คํธ๋ฉ์ ์ ์ฒด ํ๋ฉด์ 12๊ฐ์ ์ปฌ๋ผ์ผ๋ก ๋๋ ๋์์ต๋๋ค. ๊ทธ ๋๋ ๋์ ์ปฌ๋ผ์ ๋ฌด์์ ๋ฐฐ์นํ ๊ฒ์ธ์ง ์ฐ๋ฆฌ๊ฐ ์ ํด์ ํํ์ด์ง๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ปฌ๋ผ 12๊ฐ๊ฐ ๋ชจ์ฌ ํ๋์ row๊ฐ ๋ฉ๋๋ค.
ย

์์ ๋ง์๋๋ฆฐ ๊ฒ์ฒ๋ผ ์ค์ต ์บก์ณ๋ <body>์ </body> ์์ ์๋ ํ๊ทธ๋ค ์ค <script>โฆ</script> ๋ฅผย ์๋ตํ๊ณ ์์ฑํ๋๋ก ํ๊ฒ ์ต๋๋ค. Code์ ๊ฐ์ด ์์ฑํ๋ค์
002.html
๋ก ์ ์ฅ์ ํ๊ณ ์คํํ๋ฉด ์๋์ ๊ฐ์ด ๋์ต๋๋ค.๋นจ๊ฐ์ ๋ค๋ชจ๋ ์ดํด๋ฅผ ๋๊ธฐ ์ํด ์์ฑํ ๊ฒ์
๋๋ค. 1๊ฐ์ row์ 4 ์ปฌ๋ผ์ฉ ํ ๋นํ์ผ๋ฏ๋ก ๊ท ๋ฑํ ๋์ด๋ก ์ถ๋ ฅ๋ฉ๋๋ค.
ย
<div class="container"> <div class="row"> <div class="col-md-4"> <h1>hello</h1> </div> <div class="col-md-4"> <h1>hello</h1> </div> <div class="col-md-4"> <h1>hello</h1> </div> </div> </div>
ย
ย

ย
์ด๋ฒ์๋ ํ ๊ฐ์ row๋ฅผ ๋ ์ฃผ์ด ๋ดค์ต๋๋ค. ๋นจ๊ฐ์ ๋ค๋ชจ๋ ์ดํด๋ฅผ ๋๊ธฐ ์ํ ๊ฒ์
๋๋ค. ์์๋ 4์ปฌ๋ผ์ฉ ์ฃผ์๊ธฐ ๋๋ฌธ์ 3๋ฑ๋ถ์ด ๋์๊ณ ์๋๋ 6์ปฌ๋ผ์ฉ ์ฃผ์๊ธฐ ๋๋ฌธ์ 2๋ฑ๋ถ์ด ๋์์ต๋๋ค.
ย
<div class="container"> <div class="row"> <div class="col-md-4"> <h1>hello</h1> </div> <div class="col-md-4"> <h1>hello</h1> </div> <div class="col-md-4"> <h1>hello</h1> </div> </div> <div class="row"> <div class="col-md-6"> <h1>hello</h1> </div> <div class="col-md-6"> <h1>hello</h1> </div> </div> </div>
ย

ย
์๋ ๊ณต์ ํํ์ด์ง์์ ๋ณด๋ฏ์ด ํ๋์ ์ปฌ๋ผ ๋จ์๋ฅผ ๋ค์ ๋ถํ ํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค. ์ค์ต์ ํด๋ณด์ง ์๋๋ก ํ๊ฒ ์ต๋๋ค.
ย

ย
๊ทธ๋ฆฌ๋ ์์คํ
์์ 12์ปฌ๋ผ์ ๋ชจ๋ ์ด์ฉํ ๋ ๋์ด๋ฅผ 100% ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด .container-fluid๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ปฌ๋ผ ์ฌ์ด์ ์ฌ๋ฐฑ์ .row์ .no-gutters๋ฅผ ์ ์ฉํ๋ฉด padding๊ณผ margin์ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
ย

ย
๊ณต์ ํํ์ด์ง์ ๋์์๋ ๊ทธ๋ฆฌ๋ ์์คํ
๊ธฐ์ค์
๋๋ค. Nestable์ ์ปฌ๋ผ์ ๋๋ค๋ฅธ ์ปฌ๋ผ์ผ๋ก ๋๋ ์ ์๋ค๋ ์๊ธฐ์
๋๋ค.
์ฐ๋ฆฌ๋ ์ฃผ๋ก md๋ฅผ ์ฌ์ฉํฉ๋๋ค.
3. ์ด๋ฏธ์ง
ย
์ด๋ฏธ์ง์ ๋ฐ์ํ๊ณผ ์คํ์ผ์ ์
ํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ์๋ ์คํ ์ด๋ฏธ์ง๋ ๊ฐ๋ก๊ฐ 2000px์ธ ์ด๋ฏธ์ง์
๋๋ค. 3๋ฒ์ ์์๋ img-responsive๋ฅผ ์ฌ์ฉํ์์ต๋๋ค.
ย
<div class="container"> <div class="row"> <div class="col-2"> <img src="img/temp2000.png" class="img-fluid" alt="img"> </div> <div class="col-2"> hello </div> <div class="col-2"> hello </div> </div> </div>
ย

ย
์ด๋ฏธ์ง ์ธ๋ค์ผ์
๋๋ค. ์์์ด๋ฏธ์ง ๋ณด๋ค๋ ํฐ ์ด๋ฏธ์ง์ ํ์ฉ๋ฉ๋๋ค.
<div class="container"> <div class="row"> <div class="col-2"> <img src="img/temp.png" class="img-thumbnail" alt="img"> </div> <div class="col-2"> hello </div> <div class="col-2"> hello </div> </div> </div>
ย

ย
ย
ํ๋ฉด์๋ ๋ณด์ด์ง ์์ง๋ง ์ด๋ฏธ์ง๊ฐ ์ปฌ๋ผ์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ๋ถ์ด์์ต๋๋ค. ๋ํ ํ
๋๋ฆฌ๊ฐ ๋ฏธ๋ฌํ๊ฒ ๊น์ฌ ์๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ถ๊ฐ๋ก ์ด๋ฏธ์ง๋ฅผ ๋ฅ๊ทธ๋ ๊ฒ ๋ง๋๋ class๋ rounded-circle์
๋๋ค. 3 ์ด์ ์ ๋ฒ์ ์์๋ img-circle์ ์ฌ์ฉํ์์ต๋๋ค.
ย
<div class="container"> <div class="row"> <div class="col-6"> <img src="img/temp.png" class="rounded float-right" alt="img"> </div> <div class="col-2"> hello </div> <div class="col-2"> hello </div> </div> </div>
ย

์ด์ ๋ถํฐ๋ Code์ Output ์์ฃผ๋ก ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
ย
<img src="...", class="img_field" alt="Responsive image">
ย

ย
ย
<img src="..." alt="..." class="img-thubnail">
ย

ย
<img src="cinqueterre.jpg" class="rounded-circle alt="Cinque Terre">
ย

4. ํ ์ด๋ธ
๋ค์์ผ๋ก๋ ๋ถํธ์คํธ๋ฉ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๊ณ ์๋ Table์ ๋ํ์ฌ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. Thead์๋ thead-dark๋ thead-light๋ฅผ ์ฃผ์ด thead๋ฅผ ๋ถ๊ฐ์ํฌ ์ ์์ต๋๋ค. table-striped๋ฅผ ์ฃผ๋ฉด ํ
์ด๋ธ์ด ์ค๊ฐ์ค๊ฐ ๊ฐ์กฐ๋ ๊ฒฉ์๋ฌด๋ฌ๋ก ๋ณผ ์ ์์ต๋๋ค.
ย
<table class="table"> <thead> <tr> <th scope="col">๊ตฌ๋ถ</th> <th scope="col">์ฑ ์ด๋ฆ</th> <th scope="col">ํ๋งค๋</th> </tr> </thead> <tbody> <tr> <th scope="row">1</th> <td>ํด๋ฆฌํฌํฐ</td> <td>100๊ถ</td> </tr> <tr> <th scope="row">2</th> <td>ํด๋ฆฌํฌํฐ2</td> <td>200๊ถ</td> </tr> </tbody> </table>
ย

ย
๊ธฐ๋ณธ ํ
์ด๋ธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก table-striped๋ฅผ ์ฃผ๋ฉด ํ
์ด๋ธ์ด ์ค๊ฐ์ค๊ฐ ๊ฐ์กฐ๋ ๊ฒฉ์๋ฌด๋ฌ๋ก ๋ณผ ์ ์์ต๋๋ค.
ย
<table class="table table-dark"> <thead> <tr> <th scope="col">๊ตฌ๋ถ</th> <th scope="col">์ฑ ์ด๋ฆ</th> <th scope="col">ํ๋งค๋</th> </tr> </thead> <tbody> <tr> <th scope="row">1</th> <td>ํด๋ฆฌํฌํฐ</td> <td>100๊ถ</td> </tr> <tr> <th scope="row">2</th> <td>ํด๋ฆฌํฌํฐ2</td> <td>200๊ถ</td> </tr> </tbody> </table>
ย

ย
๊ธฐ๋ณธ ํ
์ด๋ธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก table-striped๋ฅผ ์ฃผ๋ฉด ํ
์ด๋ธ์ด ์ค๊ฐ์ค๊ฐ ๊ฐ์กฐ๋ ๊ฒฉ์๋ฌด๋ฌ๋ก ๋ณผ ์ ์์ต๋๋ค. table-dark์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. table-borderless๋ฅผ ์ฌ์ฉํ๋ฉด ํ
๋๋ฆฌ๋ฅผ ์์จ ์ ์์ต๋๋ค.
ย
<table class="table table-bordered"> <thead> <tr> <th scope="col">๊ตฌ๋ถ</th> <th scope="col">์ฑ ์ด๋ฆ</th> <th scope="col">ํ๋งค๋</th> </tr> </thead> <tbody> <tr> <th scope="row">1</th> <td>ํด๋ฆฌํฌํฐ</td> <td>100๊ถ</td> </tr> <tr> <th scope="row">2</th> <td>ํด๋ฆฌํฌํฐ2</td> <td>200๊ถ</td> </tr> </tbody> </table>
ย

ย
Table์ ๊พธ๋ฐ ์ ์๋ ์ ์ฒด ์์
๋๋ค. ํ์์ ๋ฐ๋ผ ํ์ฉํ์๋ฉด ๋ฉ๋๋ค.
ย
<tbody> <tr class="table-active"><td>hello</td></tr> <tr class="table-primary"><td>hello</td></tr> <tr class="table-secondary"><td>hello</td></tr> <tr class="table-success"><td>hello</td></tr> <tr class="table-danger"><td>hello</td></tr> <tr class="table-warning"><td>hello</td></tr> <tr class="table-info"><td>hello</td></tr> <tr class="table-light"><td>hello</td></tr> <tr class="table-dark"><td>hello</td></tr> <tr class="bg-primary"><td>hello</td></tr> <tr class="bg-success"><td>hello</td></tr> <tr class="bg-warning"><td>hello</td></tr> <tr class="bg-danger"><td>hello</td></tr> <tr class="bg-info"><td>hello</td></tr> </tbody> </table>
ย

ย
5. ๋ฒํผ
ย
๋ถํธ์คํธ๋ฉ์ ๋ฒํผ์ ๋ค์ํ ํฌ๊ธฐ์ ์์ ์ง์ํฉ๋๋ค. ์๋๋ ๋ถํธ์คํธ๋ฉ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๊ณ ์๋ ๋ฒํผ์
๋๋ค.
ย
<button type="button" class="btn btn-primary">Primary</button> <button type="button" class="btn btn-secondary">Secondary</button> <button type="button" class="btn btn-success">Success</button> <button type="button" class="btn btn-danger">Danger</button> <button type="button" class="btn btn-warning">Warning</button> <button type="button" class="btn btn-info">Info</button> <button type="button" class="btn btn-light">Light</button> <button type="button" class="btn btn-dark">Dark</button> <button type="button" class="btn btn-link">Link</button>
ย

ย
๋ฒํผ์ <button> ์์์ ํจ๊ป ์ฌ์ฉํ๋๋ก ์ค๊ณ๋์์ง๋ง ๋ค๋ฅธ ์์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ ๋ค์ํ ์์ ๋ฅผ ์ฐธ๊ณ ํ์ฌ ํํ์ด์ง๋ฅผ ์์ฑํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ๋ชจ๋ ๋์ผํ ๋ชจ์์ ๋ฒํผ์ ๋ง๋ค์ด์ค๋๋ค.
ย
<a class="btn btn-primary" href="#" role="button">Link</a> <button class="btn btn-primary" type="submit">Button</button> <input class="btn btn-primary" type="button" value="Input"> <input class="btn btn-primary" type="submit" value="Submit"> <input class="btn btn-primary" type="reset" value="Reset">
ย

ย
์์๋ผ์ธ๋ง ๋ค์ด๊ฐ ๋ฒํผ์ ๋ง๋ค ์๋ ์์ต๋๋ค. ๊ธฐ๋ณธ ํด๋์ค๋ฅผ .btn-outline-*๋ก ๋ฐ๊พธ๋ฉด ๋ฒํผ์ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ์์์ด ์ ๊ฑฐ๋ ์์๋ผ์ธ ๋ฒํผ์ ๋ง๋ค ์ ์์ต๋๋ค.
ย
<button type="button" class="btn btn-outline-primary">Primary</button> <button type="button" class="btn btn-outline-secondary">Secondary</button> <button type="button" class="btn btn-outline-success">Success</button> <button type="button" class="btn btn-outline-danger">Danger</button> <button type="button" class="btn btn-outline-warning">Warning</button> <button type="button" class="btn btn-outline-info">Info</button> <button type="button" class="btn btn-outline-light">Light</button> <button type="button" class="btn btn-outline-dark">Dark</button>
ย

ย
๋ถํธ์คํธ๋ฉ์ ๋ฒํผ์ ์ฌ์ด์ฆ๋ฅผ ๋น ๋ฅด๊ฒ ๋ณ๊ฒฝํ๊ธฐ ์ํ ํด๋์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. .btn-lg (ํฐ ๋ฒํผ)๋๋ .btn-sm(์์ ๋ฒํผ)์ ์ถ๊ฐํ๋ฉด ์๋์ฒ๋ผ ๋ฒํผ์ ํฌ๊ธฐ๊ฐ ์กฐ์ ๋ฉ๋๋ค.
ย
<button type="button" class="btn btn-primary btn-lg">ํฐ ๋ฒํผ</button> <button type="button" class="btn btn-secondary btn-lg">ํฐ ๋ฒํผ</button> <button type="button" class="btn btn-primary btn-sm">์์ ๋ฒํผ</button> <button type="button" class="btn btn-secondary btn-sm">์์ ๋ฒํผ</button>
ย

ย
.btn-block์ ์ถ๊ฐํ๋ฉด ๋ถ๋ชจ์ ์ ์ฒด ๋์ด๋งํ ๋ฒํผ์ ๋ง๋ค ์๋ ์์ต๋๋ค.
ย
<button type="button" class="btn btn-primary btn-lg btn-block">๋ธ๋ก ๋ ๋ฒจ ๋ฒํผ</button> <button type="button" class="btn btn-secondary btn-lg btn-block">๋ธ๋ก ๋ ๋ฒจ ๋ฒํผ</button>
ย

ย
๋ถํธ์คํธ๋ฉ ๋ฒํผ์๋ ํ์ฑ๊ณผ ๋นํ์ฑ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ๋ฒํผ์ด Acrive(ํ์ฑ)์ํ๊ฐ ๋๋ฉด ๋ฒํผ์ด ๋๋ฌ์ ธ ๋ณด์
๋๋ค.
ย
<a href="#" class="btn btn-primary btn-lg active" role="button" aria-pressed="true">Primary link</a> <a href="#" class="btn btn-secondary btn-lg active" role="button" aria-pressed="true">Link</a>
ย

ย
๋ฒํผ์ ๋นํ์ฑ ์ํ๋ ๊ธฐ์กด์ ์ ๊ทธ๋๋ก๋ฅผ ๋ํ๋
๋๋ค. disabled ์์ฑ์ <button> ์์์ ์ถ๊ฐํ์ฌ ๋ฒํผ์ ๋นํ์ฑ ์ํ๋ก ๋ง๋ค ์ ์์ต๋๋ค. ํ์ฑํ๋ ์ํ๋ .active์
๋๋ค.
ย
<button type="button" class="btn btn-lg btn-primary" disabled>Primary button</button> <button type="button" class="btn btn-secondary btn-lg" disabled>Button</button>
ย

ย
<a>ย ์์๋ฅผ ์ฌ์ฉํ๋ ๋นํ์ฑ ๋ฒํผ์ ์กฐ๊ธ ๋ค๋ฅด๊ฒ ๋์ํฉ๋๋ค.
- <a>๋ย disabledย ์์ฑ์ ์ง์ํ์ง ์์ผ๋ฏ๋ก ๋นํ์ฑํ ๋ ๊ฒ์ผ๋ก ๋ณด์ด๊ฒ ํ๋ ค๋ฉดย .disabled ํด๋์ค๋ฅผ ์ถ๊ฐ ํด์ผ ํฉ๋๋ค.
- anchor ๋ฒํผ์ ๋ชจ๋ ย pointer-events๋ฅผ ๋นํ์ฑํ ํฉ๋๋ค. ํด๋น ์์ฑ์ ์ง์ํ๋ ๋ธ๋ผ์ฐ์ ์์๋ ๋นํ์ฑํ ๋ ์ปค์๊ฐ ์ ํ ํ์๋์ง ์์ต๋๋ค.
- Disabled buttons(๋นํ์ฑ์ํ ๋ฒํผ)์ย aria-disabled="true"ย ์์ฑ์ ํฌํจํด์ผ ํฉ๋๋ค.
- ๋นํ์ฑํ ๋ ๋ฒํผ์๋ ์์์ ์ํ๋ฅผ ํ์ํ๊ธฐ ์ํดย aria-disabled=โtrueโย ์์ฑ์ ํฌํจํฉ๋๋ค.
ย
<a href="#" class="btn btn-primary btn-lg disabled" role="button" aria-disabled="true">Primary link</a> <a href="#" class="btn btn-secondary btn-lg disabled" role="button" aria-disabled="true">Link</a>
ย

ย
๋ฒํผย ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ฉด ๋ฒํผ์ผ๋ก ๋ ๋ง์ ์์
์ ํ ์ ์๊ฒ ๋ฉ๋๋ค. ํ ๊ธ ์ํ๋ฅผ ์๊ธฐ ์ํด์๋
data-toggle="button"
์ ์ถ๊ฐํ์ฌ ๋ฒํผ active ์ํ๋ฅผ ํ ๊ธํฉ๋๋ค.๋ฒํผ์ ๋ฏธ๋ฆฌ ํ ๊ธํ ๊ฒฝ์ฐ์๋ .active ํด๋์ค์ aria-pressed=โtrueโ๋ฅผ ์๋์ผ๋ก <button>์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
ย
<button type="button" class="btn btn-primary" data-toggle="button" aria-pressed="false" autocomplete="off"> Single toggle </button>
ย

ย
์ฒดํฌ๋ฐ์ค์ ๋ผ๋์ค ๋ฒํผ์ ๋ถํธ์คํธ๋ฉ์์ ์ ๊ณตํ๊ณ ์๋ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ถํธ์คํธ๋ฉ์ .button ์คํ์ผ์ <label>๊ณผ ๊ฐ์ ์์์ ์ ์ฉ๋์ด checkbo๋ radio์ ๋ฒํผํ ๊ธ์ ์ง์ ํ ์ ์์ต๋๋ค. ๊ฐ๊ฐ์ ์คํ์ผ์์ ํ ๊ธ๋งํ ์ ์๋๋ก ๋ณ๊ฒฝ๋ ๋ฒํผ์ด ํฌํจ๋
.btn-group
์ data-toggle="buttons"
๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.๋ฒํผ๋ค์ ์ฒดํฌ์ํ๋ ๋ฒํผ์ ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ํตํด์๋ง ์
๋ฐ์ดํธ๋ฉ๋๋ค. ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ<input type="reset">ย ๋๋ input์ checkedย ์์ฑ์ ์ ์ฉํ์ฌ ์
๋ ฅ์ ์
๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ <label>์ ์๋์ผ๋ก ํ ๊ธํด์ผ ํฉ๋๋ค.
๊ธฐ๋ณธ ์ ํ๋ ๋ฒํผ์ ์ ์ฉํ๋ ค๋ฉด .active ํด๋์ค๋ฅผ input์ <label>์ ์๋์ผ๋ก ์ถ๊ฐํด์ผ ํฉ๋๋ค.
ย
<div class="btn-group" data-toggle="buttons"> <label class="btn btn-secondary active"> <input type="checkbox" checked autocomplete="off"> ์ฒดํฌ๋ฐ์ค 1 (๊ธฐ๋ณธ์ ํ) </label> <label class="btn btn-secondary"> <input type="checkbox" autocomplete="off"> ์ฒดํฌ๋ฐ์ค 2 </label> <label class="btn btn-secondary"> <input type="checkbox" autocomplete="off"> ์ฒดํฌ๋ฐ์ค 3 </label> </div>
ย

ย
<div class="btn-group" data-toggle="buttons"> <label class="btn btn-secondary active"> <input type="radio" name="options" id="option1" autocomplete="off" checked> ๋ผ๋์ค 1 (๊ธฐ๋ณธ์ ํ) </label> <label class="btn btn-secondary"> <input type="radio" name="options" id="option2" autocomplete="off"> ๋ผ๋์ค 2 </label> <label class="btn btn-secondary"> <input type="radio" name="options" id="option3" autocomplete="off"> ๋ผ๋์ค 3 </label> </div>
ย

ย
Methods(๋ฉ์๋):
$().button('toggle')
ํธ์ ์ํ๋ฅผ ํ ๊ธํ ์ ์์ต๋๋ค. ๋ฒํผ์ ํ์ฑํ๋ ์ํ๋ฅผ ์ง์ ํด๋ณด์ธ์.
6. CARD
ย
๋ถํธ์คํธ๋ฉ์ Card(์นด๋)๋ ๋ค์ํ ์ปจํ
์ธ ๋ฅผ ํฌํจํ ์ ์๋ ํ์ฅ์ฑ์ ์ง๋๊ณ ์์ต๋๋ค. ๋ถํธ์คํธ๋ฉ ๋ฒ์ 3์ ์ต์ํ์๋ค๋ฉด panel(ํจ๋)์ด๋ well(์ฐ), thumbnail(ํ
๋ธ๋ค์ผ)๋ก ๋์ฒด๊ฐ ๊ฐ๋ฅํฉ๋๋ค. Card(์นด๋)๋ Flexbox(ํ๋ ์ค๋ฐ์ค)๋ก ์ ์๋์ด ์ฝ๊ฒ ์ ๋ ฌํ ์ ์์ผ๋ฉฐ ๋ค๋ฅธ ๋ถํธ์คํธ๋ฉ ์ปดํฌ๋ํธ์ ์ ์์ผ ์ ์์ต๋๋ค.
ย
<div class="card" style="width: 20rem;"> <img class="card-img-top" src="...." alt="Card image cap"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content. </p> <a href="#" class="btn btn-primary">Go somewhere</a> </div> </div>
ย

ย
์นด๋์ body๋ฅผ ์์ฑํ๊ธฐ ์ํด์๋ .card-body ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ์๋ ๋ณด์ด๋ ๊ฒ์ด ๊ธฐ๋ณธ ๊ณจ๊ฒฉ์
๋๋ค.
ย
<div class="card"> <div class="card-body"> This is some text within a card body. </div> </div>
ย

ย
๋ค์์ ๊ณต์ ํํ์ด์ง์์ ์ ๊ณตํ๊ณ ์๋ Card์ ํ์ดํ, ํ
์คํธ ๋งํฌ ์์ฑ ๋ฐฉ๋ฒ์
๋๋ค.
Titles, text, and links(ํ์ดํ, ํ
์คํธ, ๋งํฌ):
- ํ์ดํ์ย
<h*>
ํ๊ทธ์ย.card-title
์ ์ถ๊ฐ
- ์๋ธํ์ดํ์
<h*>
ํ๊ทธ์.card-subtitle
์ ์ถ๊ฐ
*.card-body item
์.card-title
๊ณผ.card-subtitle
์ ๋ฐฐ์นํ๋ฉด ์๋ง๊ฒ ์ ๋ ฌ
- ๋งํฌ๋
<a>
ํ๊ทธ์ย.card-link
๋ฅผ ์ถ๊ฐํ๋ฉด ์ฌ์ฉํ ์ ์์
ย
<div class="card" style="width: 20rem;"> <div class="card-body"> <h4 class="card-title">Card title</h4> <h6 class="card-subtitle mb-2 text-muted">Card subtitle</h6> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content </p> <a href="#" class="card-link">Card link</a> <a href="#" class="card-link">Another link</a> </div> </div>
ย

ย
Card์์์ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์
๋๋ค.
.card-img-top
์ ์ด๋ฏธ์ง๋ฅผ ์นด๋์ ์ ๋ถ๋ถ์ ๋์์ค๋๋ค.
.card-text
๋ฅผ ์ด์ฉํ์ฌ ํ ์คํธ๋ ์นด๋์ ์ถ๊ฐ๋ ์ ์์ต๋๋ค.
.card-text
์์ ํ ์คํธ๋ HTML ํ๊ทธ๋ก ๊พธ๋ฐ ์ ์์ต๋๋ค.
ย
<div class="card" style="width: 20rem;"> <div class="card-img-top" src="..." alt="Card image cap"> <div class="card-body"> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content </p> </div> </div>
ย

ย
Card์์๋ ๋ฆฌ์คํธ ๊ทธ๋ฃน์ ๋ง๋ค ์ ์์ต๋๋ค. Flush list group(ํ๋ฌ์ ๋ฆฌ์คํธ ๊ทธ๋ฃน)์ ์ด์ฉํด์ ์๋์ ๊ฐ์ด ์นด๋ ์์ ์ปจํ
์ธ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด ๋ณด์ธ์.
ย
<div class="card" style="width: 20rem;"> <ul class="list-group list-group-flush"> <li class="list-group-item">Cras justo odio</li> <li class="list-group-item">Dapibus ac facilisis in</li> <li class="list-group-item">Vestibulum at eros</li> </ul> </div>
ย
<div class="card" style="width: 18rem;"> <div class="card-header"> Featured </div> <ul class="list-group list-group-flush"> <li class="list-group-item">Cras justo odio</li> <li class="list-group-item">Dapibus ac facilisis in</li> <li class="list-group-item">Vestibulum at eros</li> </ul> </div>
ย

ย
์นด๋๋ฅผ ๋ณด๋ค ๋ ๋ค์ฒด๋กญ๊ฒ ๊พธ๋ฏธ๊ธฐ ์ํด ์ฌ๋ฌ ์ปจํ
์ธ ๋ฅผ ๋ฏน์คํด๋ณด์ธ์. ์๋ ์์ ๋ ํ๋ฒ ํ์ดํ์ ํด๋ณด์๊ธธ ์ถ์ฒํด ๋๋ฆฝ๋๋ค.
ย
<div class="card" style="width: 18rem;"> <img class="card-img-top" src=".../100px180/?text=Image cap" alt="Card image cap"> <div class="card-body"> <h5 class="card-title">Card title</h5> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content. </p> </div> <ul class="list-group list-group-flush"> <li class="list-group-item">Cras justo odio</li> <li class="list-group-item">Dapibus ac facilisis in</li> <li class="list-group-item">Vestibulum at eros</li> </ul> <div class="card-body"> <a href="#" class="card-link">Card link</a> <a href="#" class="card-link">Another link</a> </div> </div>
ย

ย
์นด๋ ์์ ํด๋์ ํธํฐ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
ย
<div class="card"> <div class="card-header"> Featured </div> <div class="card-body"> <h5 class="card-title"> Special title treatment </h5> <p class="card-text"> With supporting text below as a natural lead-in to additional content. </p> <a href="#" class="btn btn-primary"> Go somewhere </a> </div> </div>
ย

ย
Card header(์นด๋ ํค๋)๋ <h*> ์์์ .card-header๋ฅผ ์ถ๊ฐํ์ฌ ์คํ์ผ๋ง ํ ์ ์์ต๋๋ค.
ย
<div class="card"> <h5 class="card-header"> Featured </h5> <div class="card-body"> <h5 class="card-title"> Special title treatment </h5> <p class="card-text"> With supporting text below as a natural lead-in to additional content. </p> <a href="#" class="btn btn-primary"> Go somewhere </a> </div> </div>
ย

ย
Header and footer(ํค๋์ ํํฐ)
<div class="card"> <div class="card-header" Quote </div> <div class="card-body"> <blockquote class="blockquote mb-0"> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante. </p> <footer class="blockquote-footer"> Someone famous in <cite title="Source Title"> Source Title</cite> </footer> </blockquote> </div> </div>
<div class="card text-center"> <div class="card-header"> Featured </div> <div class="card-body"> <h5 class="card-title"> Special title treatment </h5> <p class="card-text"> With supporting text below as a natural lead-in to additional content. </p> <a href="#" class="btn btn-primary"> Go somewhere </a> </div> <div class="card-footer text-muted"> 2 days ago </div> </div>
ย

ย
ย
Sizing(ํฌ๊ธฐ ์กฐ์ )
2. Using utilities(์ ํธ๋ฆฌํฐ ์ฌ์ฉํ๊ธฐ):
๋น ๋ฅด๊ฒ ์นด๋์ ๋๋น๋ฅผ ๋ง์ถ ์ ์๋ sizing utilities๋ฅผ ์ฌ์ฉํด ๋ณด์ธ์.
<div class="card w-75"> <div class="card-body"> <h4 class="card-title"> Card title </h4> <p class="card-text"> With supporting text below as a natural lead-in to additional content. </p> <a href="#" class="btn btn-primary"> Button </a> </div> </div>
<div class="card w-50"> <div class="card-body"> <h4 class="card-title"> Card title </h4> <p class="card-text"> with supporting text below as a natural lead-in to additional content. </p> <a href="#" class="btn btn-primary"> Button </a> </div> </div>
ย

ย
3. Using custon CSS(์ฌ์ฉ์ ์ ์ CSS ์ฌ์ฉํ๊ธฐ):
๋๋น๋ฅผ ๋ง์ถ๊ธฐ ์ํด stylesheets(์คํ์ผ์ํธ)๋ inline style(์ธ๋ผ์ธ ์คํ์ผ)์ ํตํด ์ฌ์ฉ์ ์ ์ย CSS๋ฅผ ์ฌ์ฉํด ๋ณด์ธ์.
ย
<div class="card" style="width: 20rem;"> <div class="card-body"> <h4 class="card-title"> Special title treatment </h4> <p class="card-text"> With supporting text below as a natural lead-in to additional content. </p> <a href="#" class="btn btn-primary"> Go somewhere </a> </div> </div>
ย

ย
Text alignment(ํ
์คํธ ์ ๋ ฌ):
Text align classes๋ฅผ ํตํด ์ ์ฒด ํน์ ์ผ๋ถ๋ถ์์ ํ
์คํธ ์ ๋ ฌ์ ๋น ๋ฅด๊ฒ ๋ฐ๊ฟ ์ ์์ต๋๋ค.
ย
<div class="card" style="width: 20rem;"> <div class="card-body"> <h4 class="card-title"> Special title treatment </h4> <p class="card-text"> With supporting text below as a natural lead-in to additional content. </p> <a href="#" class="btn btn-primary"> Go somewhere </a> </div> </div>
<div class="card text-center" style="width: 20rem;"> <div class="card-body"> <h4 class="card-title"> Special title treatment </h4> <p class="card-text"> With supporting text below as a natural lead-in to additional content. </p> <a href="#" class="btn btn-primary"> Go somewhere </a> </div> </div>
<div class="card text-right" style="width: 20rem;"> <div class="card-body"> <h4 class="card-title"> Special title treatment </h4> <p class="card-text"> With supporting text below as a natural lead-in to additional content. </p> <a href="#" class="btn btn-primary"> Go somewhere </a> </div> </div>
ย

ย
๋ถํธ์คํธ๋ฉ์ ์นด๋ ๋ด ๋ค๋น๊ฒ์ด์
์ ํ์ฉํ๊ณ ์์ต๋๋ค. nav components๋ฅผ ์ด์ฉํด์ ์นด๋์ header(ํค๋)๋ block(๋ธ๋ก)์ ๋ค๋น๊ฒ์ด์
์ ์ถ๊ฐํด๋ณด์ธ์. (์์ ๊ณ์)
ย
<div class="card text-center"> <div class="card-header"> <ul class="nav nav-tabs card-header-tabs"> <li class="nav-item"> <a class="nav-link active" href="#"> Active </a> </li> <li class="nav-item"> <a class="nav-link" href="#">Link </a> </li> <li class="nav-item"> <a class="nav-link disabled" href="#"> Disabled </a> </li> </ul> </div> <div class="card-body"> <h5 class="card-title"> Special title treatment </h5> <p class="card-text"> With supporting text below as a natural lead-into additional content. </p> <a href="#" class="btn btn-primary">Go somewhere </a> </div> </div>
ย

ย
<div class="card text-center"> <div class="card-header"> <ul class="nav nav-pills card-header-pills"> <li class="nav-item"> <a class="nav-link active" href="#"> Active </a> </li> <li class="nav-item"> <a class="nav-link" href="#">Link </a> </li> <li class="nav-item"> 34 <a class="nav-link disabled" href="#">Disabled </a> </li> </ul> </div> <div class="card-body"> <h5 class="card-title"> Special title treatment </h5> <p class="card-text"> With supporting text below as a natural lead-into additional content. </p> <a href="#" class="btn btn-primary"> Go somewhere </a> </div> </div>
ย

ย
๋ถํธ์คํธ๋ฉ์๋ ์นด๋์ ์ด๋ฏธ์ง ์์
์ ์ํ ๋ช๊ฐ์ง ์ต์
์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์นด๋์ ์์ชฝ ๋์
image caps
๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์นด๋ ๋ด์ฉ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ๊ฒน์น๊ฑฐ๋ ์ด๋ฏธ์ง๋ฅผ ์นด๋์ ๊ฐ๋จํ๊ฒ ๋ผ์ ๋ฃ๊ธฐ๋ฅผ ํ ์ ์์ต๋๋ค.Header(ํค๋), footer(ํํฐ)์ย ๋ง์ฐฌ๊ฐ์ง๋ก card(์นด๋)๋ย ์๋จ ๋ฐ ํ๋จ์ย "image caps"์ด ํฌํจ๋ ์ ์์ต๋๋ค.
ย
<div class="card mb-3"> <img class="card-img-top" src="..." alt="Card image cap">22 <div class="card-body"> <h4 class="card-title"> Card title </h4> <p class="card-text"> This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer. </p> <p class="card-text"> <small class="text-muted"> Last updated 3 mins ago</small> </p> </div> </div> <div class="card"> <div class="card-body"> <h4 class="card-title"> Card title </h4> <p class="card-text"> This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer. </p> <p class="card-text"> <small class="text-muted"> Last updated 3 mins ago </small> </p> </div> <img class="card-img-bottom" src="..." alt="Card image cap"> </div>
ย

ย
๋ถํธ์คํธ๋ฉ์์๋ ์ด๋ฏธ์ง๋ฅผ ์นด๋ ๋ฐฐ๊ฒฝ์ผ๋ก ๋ฐ๊พธ๊ณ ์นด๋์ ํ
์คํธ๋ฅผ ์ค๋ฒ๋ ์ดํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
ย
<div class="card bg-dark text-white"> <img class="card-img" src=".../100px270/#55595c:#373a3c/text:Card image" alt="Card image"> <div class="card-img-overlay"> <h5 class="card-title"> Card title </h5> <p class="card-text"> This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer. </p> <p class="card-text"> Last updated 3 mins ago </p> </div> </div>
ย

ย
์นด๋๋ ๋ฐฐ๊ฒฝ, ํ
๋๋ฆฌ, ์๊น์ ๋ฐ๊ฟ ์ ์์ต๋๋ค. ์๋ ๋ด์ฉ์ ์ฐธ๊ณ ํ์ธ์.
ย
<div class="card text-white bg-primary mb-3" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Primary card title</h5> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content.</p> </div> </div> <div class="card text-white bg-secondary mb-3" style="max-width: 18rem;"> <div class="card-header">Header </div> <div class="card-body"> <h5 class="card-title">Secondary card title</h5> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content. </p> </div> </div> <div class="card text-white bg-success mb-3" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Success card title</h5> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content. </p> </div> </div> <div class="card text-white bg-danger mb-3" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Danger card title</h5> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content. </p> </div> </div>
ย

ย
ย
<div class="card text-white bg-warning mb-3" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Warning card title</h5> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content. </p> </div> </div> <div class="card text-white bg-info mb-3" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Info card title</h5> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content. </p> </div> </div> <div class="card bg-light mb-3" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Light card title</h5> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content. </p> </div> </div> <div class="card text-white bg-dark mb-3" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body"> <h5 class="card-title">Dark card title</h5> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content. </p> </div> </div>
ย

ย
์นด๋์๋ ํ
๋๋ฆฌ๋ฅผ ์ค ์ ์์ต๋๋ค. border-color๋ฅผ ๋ฐ๊พธ๊ธฐ ์ํด์๋ border utilities๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ๋ถ๋ชจ์์์ ์นด๋๋ ์นด๋ ์ปจํ
์ธ ์ .text-{color} ํด๋์ค๋ฅผ ์ถ๊ฐํ๋ฉด ๋ฉ๋๋ค.
ย
<div class="card border-primary mb-3" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body text-primary"> <h5 class="card-title">Primary card title</h5> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content. </p> </div> </div> <div class="card border-secondary mb-3" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body text-secondary"> <h5 class="card-title">Secondary card title</h5> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content. </p> </div> </div> <div class="card border-success mb-3" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body text-success"> <h5 class="card-title">Success card title</h5> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content. </p> </div> </div> <div class="card border-danger mb-3" style="max-width: 18rem;"> <div class="card-header">Header</div> <div class="card-body text-danger"> <h5 class="card-title">Danger card title</h5> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content. </p> </div> </div>
ย

ย
์นด๋ ํค๋์ ํํฐ ํ
๋๋ฆฌ๋ฅผ ๋ฐ๊พธ๊ฑฐ๋ ์ง์ฐ๋ฉด ์ข ๋ ์ธ๋ จ๋ ์นด๋๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.
.bg-transparent
๋ฅผ ์ด์ฉํด์ background-color๋ฅผ ์ ๊ฑฐํ ์๋ ์์ต๋๋ค.ย
<div class="card border-success mb-3" style="max-width: 20rem;"> <div class="card-header bg-transparent border-success">Header</div> <div class="card-body text-success"> <h4 class="card-title">Success card title</h4> <p class="card-text"> Some quick example text to build on the card title and make up the bulk of the card's content. </p> </div> <div class="card-footer bg-transparent border-success">Footer</div> </div>
ย

ย
์นด๋ ์์ ์ปจํ
์ธ ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด์ย ๋ถํธ์คํธ๋ฉ์ ์นด๋์ ๋ ์ด์์์์
์ ์ต์
๋ค์ ํฌํจํ๊ณ ์์ต๋๋ค.
๊ทธ๋ฃน์ ์นด๋๋ค์ ๊ฐ์ ๋๋น์ ๋์ด์ ๋ถ์ด์๋ columns(์ด)๋กย ๋ฐ๊ฟ์ค ์ ์์ต๋๋ค.
์นด๋ ๊ทธ๋ฃน์ ๋์ผํ ์ฌ์ด์ฆ๋ก ๋ง๋ค๊ธฐ ์ํด display: flex;๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํํฐ๋ฅผ ์ฌ์ฉํด์ ์นด๋ ๊ทธ๋ฃน์ ์ฌ์ฉํ ๊ฒฝ์ฐ, ์ปจํ
์ธ ๋ ์๋์ ์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค. ์ฝ๋๋ ๋ค์์ฅ์ ๋ฃ์ด๋์์ต๋๋ค.
ย
Card groups(์นด๋ ๊ทธ๋ฃน) (์์ ๊ณ์)
<div class="card-group"> <div class="card"> <img class="card-img-top" src="..." alt="Card image cap"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer. </p> <p class="card-text"> <small class="text-muted"> Last updated 3 mins ago </small> </p> </div> </div> <div class="card"> <img class="card-img-top" src="..." alt="Card image cap"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This card has supporting text below as a natural lead-in to additional content. </p> <p class="card-text"> <small class="text-muted"> Last updated 3 mins ago</small> </p> </div> </div> <div class="card"> <img class="card-img-top" src="..." alt="Card image cap"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action. </p> <p class="card-text"> <small class="text-muted"> Last updated 3 mins ago </small> </p> </div> </div> </div>
ย

ย
<div class="card-group"> <div class="card"> <img class="card-img-top" src="..." alt="Card image cap"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer. </p> </div> <div class="card-footer"> <small class="text-muted">Last updated 3 mins ago</small> </div> </div> <div class="card"> <img class="card-img-top" src="..." alt="Card image cap"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This card has supporting text below as a natural lead-in to additional content. </p> </div> <div class="card-footer"> <small class="text-muted">Last updated 3 mins ago</small> </div> </div> <div class="card"> <img class="card-img-top" src="..." alt="Card image cap"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action. </p> </div> <div class="card-footer"> <small class="text-muted">Last updated 3 mins ago</small> </div> </div> </div>
ย

ย
๋๋น์ ๋์ด๊ฐ ๋์ผํ์ง๋ง ๋ถ์ด์์ง ์์ ๊ฒ์ ์นด๋ ๋ฐํฌ๋ผ๊ณ ๋งํฉ๋๋ค. ํธํฐ๋ฅผ ์ฌ์ฉํด์ ์นด๋ ๊ทธ๋ฃน์ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ปจํ
์ธ ๋ ์๋์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค.
ย
Card decks(์นด๋ ๋ฐํฌ) (์์ ๊ณ์)
ย
<div class="card-deck"> <div class="card"> <img class="card-img-top" src="..." alt="Card image cap"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer. </p> <p class="card-text"> <small class="text-muted">Last updated 3 mins ago</small> </p> </div> </div> <div class="card"> <img class="card-img-top" src="..." alt="Card image cap"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This card has supporting text below as a natural lead-in to additional content. </p> <p class="card-text"> <small class="text-muted">Last updated 3 mins ago</small> </p> </div> </div> <div class="card"> <img class="card-img-top" src="..." alt="Card image cap"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action. </p> <p class="card-text"> <small class="text-muted">Last updated 3 mins ago</small> </p> </div> </div> </div>
ย

ย
ย
Card decks(์นด๋ ๋ฐํฌ)(์์ ๊ณ์)
ย
<div class="card-deck"> <div class="card"> <img class="card-img-top" src="..." alt="Card image cap"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer. </p> </div> <div class="card-footer"> <small class="text-muted">Last updated 3 mins ago</small> </div> </div> <div class="card"> <img class="card-img-top" src="..." alt="Card image cap"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This card has supporting text below as a natural lead-in to additional content. </p> </div> <div class="card-footer"> <small class="text-muted">Last updated 3 mins ago</small> </div> </div> <div class="card"> <img class="card-img-top" src="..." alt="Card image cap"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action. </p> </div> <div class="card-footer"> <small class="text-muted">Last updated 3 mins ago</small> </div> </div> </div>
ย

ย
์นด๋๋ย
.card-columns
์์ CSS๋ฅผ ์ด์ฉํด ๊ฐ์ธ์ฃผ๋ฉด ๋ฒฝ๋ ํ์ผ๋ก ์ ๋ ฌ๋ ์ด์ ๊ตฌ์ฑ ํ ์ ์์ต๋๋ค. ์นด๋๋ flexbox(ํ๋ ์ค ๋ฐ์ค)๊ฐ ์๋ CSS ์ด ์์ฑ์ ์ฌ์ฉํ์ฌ ์ฝ๊ฒ ์ ๋ ฌ ํ ์ ์์ต๋๋ค. ์นด๋๋ ์์์ ์๋๋ก, ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค.์นด๋ ์ด์ด ์๋ ๋ง์ผ๋ฆฌ์ง๋ ๋ค๋ฅผ ์ ์์ต๋๋ค. ์นด๋๊ฐ ์ด์ ๊ฐ๋ก ์ง๋ฅด์ง ๋ชปํ๊ฒ ํ๋ ค๋ฉด
display: inline-block
์ column-break-inside: avoid
๋ก์จ ์ค์ ํด์ผ ํฉ๋๋ค.ย
<div class="card-columns"> <div class="card"> <img class="card-img-top" src="..." alt="Card image cap"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This card has supporting text below as a natural lead-in to additional content. </p> <p class="card-text"> <small class="text-muted"> Last updated 3 mins ago</small></p> </div> </div> <div class="card bg-primary text-white text-center p-3"> <blockquote class="blockquote mb-6"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat.</p> <footer class="blockquote-footer"> <small> Someone famous in <cite title="Source Title"> Source Title</cite> </small> </footer> </blockquote> </div> <div class="card text-center"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This card has supporting text below as a natural lead-in to additional content.</p> <p class="card-text"> <small class="text-muted"> Last updated 3 mins ago </small> </p> </div> </div> <div class="card"> <img class="card-img" src="..." alt="Card image"> </div> <div class="card p-3 text-right"> <blockquote class="blockquote mb-8"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p> <footer class="blockquote-footer"> <small class="text-muted"> Someone famous in <cite title="Source Title">Source Title</cite> </small> </footer> </blockquote> </div> <div class="card"> <div class="card-body"> <h4 class="card-title">Card title</h4> <p class="card-text"> This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.</p> <p class="card-text">ht <small class="text-muted"> Last updated 3 mins ago </small> </p> </div> </div> </div>
ย

ย
์ถ๊ฐ์ ์ธ ์ฝ๋๋ฅผ ์ด์ฉํด์ ์นด๋๋ฅผ ์ปค์คํฐ๋ง์ด์งํ ์ ์์ต๋๋ค. CSS์
.card-columns
๋ฅผ ์ด์ฉํด์ ์ปค์คํฐ ๋ง์ด์ง ํด๋ณด์ธ์.ย
.card-columns{ @include media-breakpoint-only(lg) { column-count: 4; } @include media-breakpoint-only(xl) { column-count: 5; }}
ย
7. ์บ๋ฌ์
ย
์บ๋ฌ์
์ ์ด๋ฏธ์ง๋ ํ
์คํธ ์ฌ๋ผ์ด๋๋ฅผ ๊ตฌ์ฑํ๋ ์ฌ๋ผ์ด๋ ์ผ ์
๋๋ค. ๋ง์ง๋ง ์บ๋ฌ์
์ด๋ฏธ์ง์์๋ ๋ค์ ์ฒ์ ์ฌ๋ผ์ด๋๋ก ๋์์ค๊ฒ ๋ฉ๋๋ค.
๋ถํธ์คํธ๋ฉ ๊ณต์ ํํ์ด์ง์์๋ ์บ๋ฌ์
์ โCSS 3D ํธ๋์คํผ๊ณผ ์ฝ๊ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ ์๋ ์๋ฆฌ์ฆ ์ปจํ
์ธ ๋ฅผ ์ํํ๋ ์ฌ๋ผ์ด๋ ์ผโ๋ผ๊ณ ๋งํ๊ณ ์์ต๋๋ค. ์ฃผ์ํ์
์ผ ํ ๋ถ๋ถ์ ์บ๋ฌ์
์ ์ค์ฒฉ์ ํ๋ฝํ์ง ์์ผ๋ฉฐ ์น ์ ๊ทผ์ฑ ํ์ค์ ์ค์ํ์ง ์๋๋ค๋ ๊ฒ์
๋๋ค.ย ๋ํ ์์ค์์ JS๋ฅผ ๋น๋ํ๋ ๊ฒฝ์ฐ util.js๊ฐ ํ์ํฉ๋๋ค.
์บ๋ฌ์
์ ์๋์ผ๋ก ์ฌ๋ผ์ด๋ ํฌ๊ธฐ๋ฅผ ํ์คํํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ปจํ
์ธ ์ ํฌ๊ธฐ๋ฅผ ์ ์ ํ๊ฒ ์กฐ์ ํ๋ ค๋ฉด ์ถ๊ฐ ์ ํธ๋ฆฌํฐ ๋๋ ์ฌ์ฉ์ ์ ์ ์คํ์ผ์ ์ฌ์ฉํด์ผ ํ ์๋ ์์ต๋๋ค.
.active ํด๋์ค ์ฌ๋ผ์ด๋๋น ํ๋์ฉ ์ถ๊ฐ๋์ด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์บ๋ฌ์
์ด ๋ณด์ด์ง ์์ต๋๋ค. ํ๋์ ํ์ด์ง์ ๋ค์ํ ์บ๋ฌ์
์ ์ฌ์ฉํ ๊ฒฝ์ฐ, ์ ํ์ ์ธ ์ปจํธ๋กค์ ์ํด .carousel์ ๊ฐ๊ฐ์ ๊ณ ์ ํ ์์ด๋๋ฅผ ๋ถ์ฌํด์ฃผ์ธ์. ์ปจํธ๋กค๊ณผ ์ธ๋์ผ์ดํฐ ์์๋ค์ ๊ฒฝ์ฐ ๋ฐ๋์ .carousel์์์ ์์ด๋๋ฅผ ๋ง์ถ๋ ๋ฐ์ดํฐ ๋ง์ถค ์์ฑ์ ๊ฐ์ ธ์ผ ํฉ๋๋ค.
๋ค์์ ์ฌ๋ผ์ด๋๋ง ์๋ ์บ๋ฌ์
์
๋๋ค.
ย
<div id="carouselExampleSlidesOnly" class="carousel slide" data-ride="carousel"> <div class="carousel-inner"> <div class="carousel-item active"> <img class="d-block w-100" src="..." alt="์ฒซ๋ฒ์งธ ์ฌ๋ผ์ด๋"> </div> <div class="carousel-item"> <img class="d-block w-100" src="..." alt="๋๋ฒ์งธ ์ฌ๋ผ์ด๋"> </div> </div> </div>
ย

ย
์ด์ ๊ณผ ๋ค์ ์ปจํธ๋กค์ด ํ์ํ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ์ฌ์ฉํ ์ ์์ต๋๋ค.
ย
<div id="carouselExampleControls" class="carousel slide" data-ride="carousel"> <div class="carousel-inner"> <div class="carousel-item active"> <img class="d-block w-100" src="..." alt="์ฒซ๋ฒ์งธ ์ฌ๋ผ์ด๋"> </div> </div> <a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide-"prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="sr-only">์ด์ </span> </a> <a class="carousel-control-next href="#carouselExampleControls" role="button" data-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="sr-only">๋ค์ </span> </a> </div>
ย

ย
์ปจํธ๋กค๊ณผ ํจ๊ป ์ธ๋์ผ์ดํฐ๋ฅผ ์บ๋ฌ์
์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ฌ๋ผ์ด๋ ํ๋จ์ ๋ณด์ด๋ ๊ฒ์ด ์ธ๋์ผ์ดํฐ ์
๋๋ค.
ย
<div id="carouselExample Indicators" class="carousel slide" data-ride-"carousel"> <ol class="carousel-indicators"> <li data-target="#carouselExample Indicators" data-slide-to="0" class="active"></li> <li data-target="#carouselExample Indicators" data-slide-to="1"></li> <li data-target="#carouselExample Indicators" data-slide-to="2"></li> </ol> <div class="carousel-inner"> <div class="carousel-item active"> <img class="d-block w-100" src="..." alt="์ฒซ๋ฒ์งธ ์ฌ๋ผ์ด๋"> </div> <div class="carousel-item"> <img class="d-block w-100" src="..." alt="๋๋ฒ์งธ ์ฌ๋ผ์ด๋"> </div> </div> <a class="carousel-control-prev" href="#carouselExample Indicators" role="button" data-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="sr-only">์ด์ </span> </a> <a class="carousel-control-next" href="#carousel Example Indicators" role="button" data-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="sr-only">๋ค์</span> </a> </div>
ย

ย
.carousel-item
๋ด์ .carousel-caption
์์๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ผ์ด๋์ ์บก์
์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ ํ์ ์ผ๋ก display utilites๋ฅผ ์ฌ์ฉํ์ฌ ์์ ๋ทฐํฌํธ์ ์จ๊ธธ ์ ์์ต๋๋ค. ์ฒ์์๋ .d-none
์ผ๋ก ์จ๊ธฐ๊ณ .d-md-block
์ผ๋ก ์ค๊ฐ ํฌ๊ธฐ์ ๋๋ฐ์ด์ค์์ ๋ค์ ๊ฐ์ ธ์ต๋๋ค.ย
<div class="carousel-item"> <img src="..." alt="..."> <div class="carousel-caption d-none d-md-block"> <h3>...</h3> <p>...</p> </div> </div>
ย

ย
๋ถํธ์คํธ๋ฉ์ Crossfade(ํฌ๋ก์ค ํ์ด๋)๋ ์ด๋ฏธ์ง๊ฐ animate(์ ๋๋ฉ์ดํธ)๋๋ ๋์ fadein fadeout๋๋ fade transition(ํ์ด๋ ํธ๋์ง์
)์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ์บ๋ฌ์
์ .carousel-fade ๋ฅผ ์ถ๊ฐํ๋ฉด ๋ฉ๋๋ค.
ย
<div id="carousel ExampleFade" class="carousel slide carousel-fade" data-ride="carousel"> <div class="carousel-inner"> <div class="carousel-item active"> <img class="d-block w-100" src=".../800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide"> </div> </div> <a class="carousel-control-prev" href="#carouselExampleFade" role="button" data-slide-"prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="sr-only">Previous</span> </a> <a class="carousel-control-next" href="#carouselExampleFade" role="button" data-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="sr-only">Next</span> </a> </div>
ย

ย
๋ฐ์ดํฐ ์์ฑ์ ์ฌ์ฉํ์ฌ ์บ๋ฌ์
์ ์์น๋ฅผ ์ฝ๊ฒ ์ ์ดํ ์ ์์ต๋๋ค. data-slide๋ prev ๋๋ nextย ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฌ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฌ๋ผ์ด๋ ์์น๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค. ๋๋ data-slide-to๋ฅผ ์ฌ์ฉํด์ ์ฌ๋ผ์ด๋ ํฌ์ธํฐ๋ฅผ 0์ผ๋ก ์์ํ๋ ํน์ ์ธ๋ฑ์ค๋ก ์ด๋ํ๋ ์ฌ๋ผ์ด๋ ํฌ์ธํฐ data-slide-to=โ2โ์ ์์ ์ฌ๋ผ์ด๋ ์ธ๋ฑ์ค๋ฅผ ์ ๋ฌํฉ๋๋ค.
data-ride="carousel"
์์ฑ์ ์บ๋ฌ์
ํ์ด์ง ๋ก๋์ ์ ๋๋ฉ์ด์
์ผ๋ก ํ์ํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋์ผํ ์บ๋ฌ์
์ JavaScript ์ด๊ธฐํ (์ค๋ณต ๋ฐ ๋ถํ์ํ)๋ฐฉ์๊ณผ ํจ๊ป ์ฌ์ฉํ ์๋ ์์ต๋๋ค.Via JavaScript(JavaScript ๋ฐฉ์):
$('.carousel').carousel()
๋ฅผย ์ฌ์ฉํด์ ์๋์ผ๋ก ์บ๋ฌ์
์ ํธ์ถํ ์ ์์ต๋๋ค.ย
8. ๋ง๋ฌด๋ฆฌํ๋ฉฐ
๋ถํธ์คํธ๋ฉ์ ๋ชจ๋ ๊ธฐ๋ฅ์, ๋ชจ๋ ๋ฌธ๋ฒ์ ๋ค ์ตํ๊ณ ์๋ จ๋์ผ๋ง ๋ถํธ์คํธ๋ฉ์ ์ ์ฌ์ฉํ ์ ์์๊น์? ๊ทธ๋ ์ง ์์ต๋๋ค. ๋ถํธ์คํธ๋ฉ ์ ๋ฌด๋ฃ ํ
ํ๋ฆฟ์ ๋ค์ด๋ก๋ ๋ฐ๋ ๋ฐฉ๋ฒ์ด ์๊ณ , ๊ทธ ๋ฐฉ๋ฒ์ ๋ ์ถ์ฒํด ๋๋ฆฝ๋๋ค. ์๋ฌด๋ฆฌ ์ ์ฌ์ฉํ๋๋ผ๋, ์ ๋ฌธ๊ฐ์ ์๊ธธ๋ณด๋ค ๋ฐ์ด๋๊ฒ ํํ์ด์ง๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๊ธฐํ๋น์ฉ์ ๊ณ ๋ คํ์ฌ, 2๋ง์ ~ 3๋ง์์ ๋ถํธ์คํธ๋ฉ ํ
ํ๋ฆฟ์ ๋ค์ด๋ก๋ ๋ฐ๋ ๋ค๋ ๊ฒ์ ํ๋ฅญํ ๋์์ด ๋ ๊ฒ์ด์์.
๊ทธ๋๋ ์ฒ์๋ถํฐ ๋๊น์ง ์ง์ ๋ง๋ค๊ณ ์ถ์ผ์๋ค๋ฉด, ๋ถํธ์คํธ๋ฉ ๋ณด๋ค๋ ์ง์ ํ๋ํ๋ ์ฒ์๋ถํฐ ๋๊น์ง ๋ง๋ค์ด๋ณด์๊ธธ ๊ถํด๋๋ฆฝ๋๋ค.