기타/Bootstrap
[Bootstrap] Navbars
glorypang
2025. 3. 25. 10:26
728x90
반응형
SMALL
1. 기본 구조
- `.navbar` 클래스 사용
- `.navbar-expand-*` 클래스 사용 시, 해당 크기 이상에서 가로형으로 전환됨 (반응형)
- `.navbar-nav` 내부에 `.nav-item`과 `.nav-link` 조합 사용
<!-- Grey with black text -->
<nav class="navbar navbar-expand-sm bg-light navbar-light">
<div class="container-fluid">
<ul class="navbar-nav">
<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" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
</div>
</nav>
<!-- Black background with white text -->
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">...</nav>
<!-- Blue background with white text -->
<nav class="navbar navbar-expand-sm bg-primary navbar-dark">...</nav>

2. 수직 Navbar
- `.navbar-expand-*` 클래스를 제거하면 항상 수직 상태 유지
<nav class="navbar bg-light">...</nav>

3. 정렬 옵션
- `justify-content-center`: 가운데 정렬
- `justify-content-end`: 오른쪽 정렬
<nav class="navbar justify-content-center">...</nav>

4. 색상 및 텍스트 색상
- `.bg-*` 클래스로 배경색 지정 (`primary`, `dark`, `light` 등)
- `.navbar-dark`: 흰색 텍스트
- `.navbar-light`: 검정 텍스트
<nav class="navbar bg-dark navbar-dark">...</nav>

5. 로고/브랜드 (`.navbar-brand`)
- 프로젝트명이나 로고용으로 사용
- 이미지도 함께 사용 가능 (이미지 자동 크기 조정됨)
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">Logo</a>
</div>
</nav>
<!-- 혹은 -->
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">
<img src="logo.png" alt="Avatar Logo" style="width:40px;" class="rounded-pill">
</a>
</div>
</nav>


6. 텍스트만 표시 (`.navbar-text`)
- 링크가 아닌 텍스트를 올바르게 정렬하고 스타일링할 때 사용
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
<div class="container-fluid">
<span class="navbar-text">Navbar text</span>
</div>
</nav>

7. 반응형 토글 버튼 (Collapsible)
- `.navbar-toggler`, `data-bs-toggle="collapse"` 속성으로 메뉴를 접고 펼 수 있음
- 메뉴는 `.collapse .navbar-collapse` 내부에 위치
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">Logo</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#collapsibleNavbar">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="collapsibleNavbar">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
</ul>
</div>
</div>
</nav>

8. 드롭다운 메뉴
- `.dropdown` 구조 사용
- `data-bs-toggle="dropdown"` 속성 필수
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown">Dropdown</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Link</a></li>
<li><a class="dropdown-item" href="#">Another link</a></li>
<li><a class="dropdown-item" href="#">A third link</a></li>
</ul>
</li>

9. 폼 + 버튼 포함
- 검색 폼이나 버튼도 `.d-flex`로 함께 넣을 수 있음
<nav class="navbar navbar-expand-sm navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="javascript:void(0)">Logo</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#mynavbar">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="mynavbar">
<ul class="navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="javascript:void(0)">Link</a>
</li>
</ul>
<form class="d-flex">
<input class="form-control me-2" type="text" placeholder="Search">
<button class="btn btn-primary" type="button">Search</button>
</form>
</div>
</div>
</nav>

10. 고정 Navbar
| 클래스 | 설명 |
| `.fixed-top` | 페이지 상단 고정 |
| `.fixed-bottom` | 페이지 하단 고정 |
| `.sticky-top` | 스크롤 시 상단에 고정됨 (IE11 미지원) |
<nav class="navbar fixed-top bg-dark navbar-dark">...</nav>

728x90
반응형
LIST