๋ถํธ์คํธ๋ฉ?
- Twitter์์ ๊ฐ๋ฐํ HTML, CSS, JavaScript๋ก ์ด๋ฃจ์ด์ง ์คํ ์์ค ํ๋ ์์ํฌ ์ ๋๋ค.
- ์น ํ์ด์ง ๋ ์ด์์, ๋ฒํผ, ํผ, ํ์ดํฌ๊ทธ๋ํผ ๋ฑ์ ๋ค์ํ UI ์ปดํฌ๋ํธ๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค.
- ๋ฐ์ํ ์น ๋์์ธ์ ์ง์ํ๋ฏ๋ก ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์๋ ์น ํ์ด์ง๊ฐ ์ ์ ํ๊ฒ ํ์๋ฉ๋๋ค.
- ์คํ ์์ค๋ก ๋ฐฐํฌ๋์ด ์์ผ๋ฉฐ, ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋ถํธ์คํธ๋ฉ์ ์ด์ฉํ๋ฉด ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๊น๋ํ๊ณ ๋ชจ๋ํ UI๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
ํน์ง
- ๋ฐ์ํ ์น ๋์์ธ ์ง์ : ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์๋ ์ ์ ํ๊ฒ ์น ํ์ด์ง๊ฐ ํ์๋๋๋ก ๋ฐ์ํ ์น ๋์์ธ์ ์ง์ํฉ๋๋ค.
- ๋ค์ํ UI ์ปดํฌ๋ํธ : ๋ ์ด์์, ๋ฒํผ, ํผ, ํ์ดํฌ๊ทธ๋ํผ ๋ฑ ๋ค์ํ UI ์ปดํฌ๋ํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ฌ์ด ์ฌ์ฉ์ฑ : ๋ฌธ์์ ์์ ์ฝ๋๊ฐ ํ๋ถํ๊ฒ ์ ๊ณต๋์ด, ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง : ๋ค์ํ ๋ธ๋ผ์ฐ์ ์์ ์ผ๊ด๋ ๋์์ธ์ ์ ๊ณตํ์ฌ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง์ ์ง์ํฉ๋๋ค.
- ๋ค์ํ ํ ๋ง : ๋ค์ํ ํ ๋ง๋ฅผ ์ ๊ณตํ์ฌ, ์ฌ์ฉ์๊ฐ ์ ์ ํ ๋์์ธ์ ์ ํํ ์ ์์ต๋๋ค.
- ์คํ ์์ค : ์คํ ์์ค๋ก ๋ฐฐํฌ๋์ด ์์ผ๋ฉฐ, ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ปค์คํฐ๋ง์ด์ง ๊ฐ๋ฅ : ์ฌ์ฉ์์ ์ทจํฅ์ ๋ง๊ฒ ์ปดํฌ๋ํธ๋ฅผ ์์ ํ๊ฑฐ๋, ํ์ํ ์ปดํฌ๋ํธ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
- ๊ฒ์ ์์ง ์ต์ ํ(SEO) ์ง์ : ๊ฒ์ ์์ง ์ต์ ํ๋ฅผ ๊ณ ๋ คํ์ฌ ์ฝ๋๋ฅผ ์์ฑํ์์ต๋๋ค.
Bootstrap
๊ฐ๋ ฅํ๊ณ ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ๊ธฐ๋ฅ์ด ํ๋ถํ ํ๋ก ํธ์๋ ํดํท. Sass๋ก ๋น๋ ๋ฐ ์ปค์คํฐ๋ง์ด์งํ๊ณ , ์ฌ์ ๋น๋๋ ๊ทธ๋ฆฌ๋ ์์คํ ๋ฐ ๊ตฌ์ฑ ์์๋ฅผ ํ์ฉํ๊ณ , ๊ฐ๋ ฅํ JavaScript ํ๋ฌ๊ทธ์ธ์ผ๋ก ํ๋ก์ ํธ์ ์๊ธฐ
getbootstrap.kr
์ ๊ณต ์์
- Grid System: ์ ์ฐํ ๋ ์ด์์์ ๋ง๋ค๊ธฐ ์ํ ๊ทธ๋ฆฌ๋ ์์คํ ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๊ฒ ๋ค์ํ ๋๋ฐ์ด์ค์ ๋์ํ๋ ๋ฐ์ํ ์น์ฌ์ดํธ๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
- Typography: ๋ค์ํ ๊ธ๊ผด, ํ ์คํธ ์คํ์ผ ๋ฐ ํ ์คํธ ํจ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- Forms: ํผ ์์๋ฅผ ๋์์ธํ๋๋ฐ ๋์์ด ๋๋ ํด๋์ค์ ์คํ์ผ์ ์ ๊ณตํฉ๋๋ค.
- Buttons: ๋ฒํผ์ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ ํด๋์ค์ ์คํ์ผ์ ์ ๊ณตํฉ๋๋ค.
- Navigation: ๋ค์ํ ํ์ ๋ฉ๋ด๋ฅผ ๋์์ธํ๋๋ฐ ๋์์ด ๋๋ ํด๋์ค์ ์คํ์ผ์ ์ ๊ณตํฉ๋๋ค.
- Modal: ๋ชจ๋ฌ ์ฐฝ์ ๋์์ธํ๋๋ฐ ์ฌ์ฉ๋๋ ํด๋์ค์ ์คํ์ผ์ ์ ๊ณตํฉ๋๋ค.
- Alerts: ๋ค์ํ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋์์ธํ๋๋ฐ ์ฌ์ฉ๋๋ ํด๋์ค์ ์คํ์ผ์ ์ ๊ณตํฉ๋๋ค.
- Icons: ๋ค์ํ ์์ด์ฝ ํฐํธ์ ์์ด์ฝ ํด๋์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
- Images: ์ด๋ฏธ์ง ํฌ๊ธฐ ์กฐ์ , ์ํ ์ด๋ฏธ์ง, ์ธ๋ค์ผ ๋ฑ์ ํด๋์ค์ ์คํ์ผ์ ์ ๊ณตํฉ๋๋ค.
- JavaScript plugins: ์ฌ๋ผ์ด๋์ผ, ๋ชจ๋ฌ ์ฐฝ, ๋๋กญ๋ค์ด ๋ฉ๋ด ๋ฑ๊ณผ ๊ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ฌ๊ทธ์ธ์ ์ ๊ณตํฉ๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ
CSS ์ ์ฉ
<!-- CSS only -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
JavaScript ์ ์ฉ
<!-- JavaScript Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
๋น ๋ฅธ ์์
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap demo</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
</head>
<body>
<h1>Hello, world!</h1>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
</body>
</html>
ํ์๊ฐ์ ํ์ด์ง ๊ฐ๋จ ์์
<!DOCTYPE html>
<html>
<head>
<title>ํ์๊ฐ์
ํ์ด์ง</title>
<!-- ๋ถํธ์คํธ๋ฉ CDN ์ถ๊ฐํ๊ธฐ -->
<!-- CSS only -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
</head>
<body>
<div class="container">
<h1>ํ์๊ฐ์
</h1>
<form>
<div class="form-group">
<label for="inputName">์ด๋ฆ</label>
<input type="text" class="form-control" id="inputName" placeholder="์ด๋ฆ์ ์
๋ ฅํ์ธ์">
</div>
<div class="form-group">
<label for="inputEmail">์ด๋ฉ์ผ</label>
<input type="email" class="form-control" id="inputEmail" placeholder="์ด๋ฉ์ผ์ ์
๋ ฅํ์ธ์">
</div>
<div class="form-group">
<label for="inputPassword">๋น๋ฐ๋ฒํธ</label>
<input type="password" class="form-control" id="inputPassword" placeholder="๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์">
</div>
<div class="form-group">
<label for="inputPassword2">๋น๋ฐ๋ฒํธ ํ์ธ</label>
<input type="password" class="form-control" id="inputPassword2" placeholder="๋น๋ฐ๋ฒํธ๋ฅผ ๋ค์ ์
๋ ฅํ์ธ์">
</div>
<br>
<button type="submit" class="btn btn-primary">ํ์๊ฐ์
</button>
</form>
</div>
<!-- JavaScript Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4"
crossorigin="anonymous"></script>
</body>
</html>
'๐จ Frontend > HTML & CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CSS โง ๋ฐ์ํ ์น๊ณผ ๋ฏธ๋์ด ์ฟผ๋ฆฌ (0) | 2023.03.20 |
---|---|
CSS โฆ ๊ทธ๋ฆฌ๋(grid) ๋ ์ด์์ (0) | 2023.03.20 |
CSS โญ โฅ flex ๋ฐ์ค ๋ ์ด์์ (0) | 2023.03.16 |
CSS โค ์น ํฐํธ, ์์ด์ฝ ํฐํธ ์ฌ์ฉํ๊ธฐ + ์ค์ต์์ (0) | 2023.03.16 |
CSS โฃ ์ ํ ํจ๊ณผ - (3) ๋ณํ ํจ๊ณผ(transform) (0) | 2023.03.16 |