bootstrap4 사용법
Bootstrap 정리
CDN
- head에 bootstrap을 추가하는 소스코드를 추가한다
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script><script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
모바일
- 모바일 환경에서 ui가 변경되어야 한다. 적절히 변경될 수 있도록 viewport 메타 태그를 추가한다
- viewport 태그는 모바일 폰에서의 크기 조절을 위해 만듬
- PC의 viewport는 웹 브라우저 창과 같음(크기 조절 가능)
- 모바일의 viewport는 웹 브라우저 창보다 작고 확대 축소로 뷰포트 배율 변경 가능
- 데스크탑에서 같은 px를 보더라도 pc에선 알맞게 나오지만 모바일에선 작게 나온다. 그렇기 때문에 viewport로 적절한 화면 배율을 설정해야 한다
<meta name="viewport" content="width=device-width, initial-scale=1">
Container
- body에 있는 모든 태그요소는 ‘container’ 안에 존재해야 한다.
- 만약 화면 너비 전체를 사용하고 싶다면 ‘.container-fluid’ class를 사용한다
<div class="container"></div>
Grid
- 크기에 따라 4가지 class 로 나뉜다
- 크기를 좀 더 늘리고 싶다면 맨 뒤의 숫자를 변경한다
col-lg-1 | col-md-1 | col-sm-1 | col-xs-1 |
---|---|---|---|
아주 큰 화면 | 중간 화면 | 작은 기기(태블릿) | 모바일 폰 |
<div class="row">
<div class="col-lg-1">큰 기기 테스크탑</div>
<div class="col-md-1">중간 기기 데스크탑</div>
<div class="col-xs-1">작은 기기 태블릿</div>
<div class="col-sm-1">매우 작은 기기 모바일폰</div>
</div>
- pc와 모바일의 요소의 비율을 다르게 하고 싶다면 각 각의 크기를 설정한다
- 아래 소스코드를 보면 첫번째 요소는 보통 pc화면에서는 (md) 크기가 4이고 두번째 요소도 마찬가지로 크기가 4이다. 그러므로 pc에서 두 요소는 5:5 비율이다
- 하지만 모바일에서 첫번째 요소는 크기가 12인데 두번째 요소2이다. 그래서 모바일로 보면 첫번째 요소와 두번째 요소의 크기가 다르다 ~~~
col-xs-12 col-md-8
col-xs-6 col-md-4
- 컬럼 오프셋 설정으로 몇 칸 띄어서 요소를 배치할 수 있다
- 예를 들어 <div class="col-md-4 col-md-offset-3">col-md-4</div> 라면 3칸 정도 띄운 후 해당 div 요소를 배치한다
col-md-4
col-md-4
### DataTable
- [DataTable](https://datatables.net/examples/styling/bootstrap4)
- DataTable 사용을 위해 아래 js를 추가한다
<script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.19/js/dataTables.bootstrap.min.js"></script> ~~~
- table 태그로 DataTable을 작성한다
- colgroup으로 순서대로 필드의 크기 비율을 설정한다
- thead 는 맨 위의 필드명을 뜻하고 tbody는 필드의 값을 뜻한다
<table id="board1-table" class="table table-striped table-bordred">
<colgroup>
<col width="10%" />
<col width="40%" />
<col width="10%" />
</colgroup>
<thead>
<tr>
<td>게시물 번호</td>
<td>게시물 제목</td>
<td>날짜</td>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>1번 게시물</td>
<td>2019-4-12</td>
</tr>
<tr>
<td>2</td>
<td>2번 게시물</td>
<td>2018-4-12</td>
</tr>
<tr>
<td>3</td>
<td>3번 게시물</td>
<td>2018-4-13</td>
</tr>
</tbody>
</table>
Pagination
- pagination
- nav 태그는 html5에 등장한 태그. 현재 페이지에서 다른 페이지로 이동(탐색)을 수행할 때 사용한다. 메뉴 뿐 아니라 페이지네이션도 네비게이션에 해당한다
- li태그에 page-item 속성을 준다
- a태그에 class로 “page-link” 속성을 준다
- 현재 선택한 페이지 숫자와 동일하다면 태그에 active를 준다
<nav>
<ul class="pagination">
<li class="page-item"><a class="page-link" href="#">Previous</a></li>
<li class="page-item active"><a class="page-link" href="#">1</a></li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item"><a class="page-link" href="#">Next</a></li>
</ul>
selectForm
- form-control class 를 사용한다
- select box의 크기는 col-md-2, col-sm-1 등으로 정할 수 있다\
<select class="form-control col-sm-1 col-md-2 list-select-form" name="searchType">
<option value="A">전체</option>
<option value="T">제목</option>
<option value="C">내용</option>
<option value="W">작성자</option>
</select>
form 중앙정렬
- text-align:-webkit-center
- webkit 이란 크롬, 사파리 브라우저에 적용, -moz는 파이어폴스, -ms는 익스플로러를 뜻함
어썸 폰트
- 어썸폰트란 부트스트랩의 text 아이콘을 뜻한다. text이므로 이미지보다 가공하기 쉽고 깨지지 않는다
- 어썸폰트 공식 홈페이지
- 아래 style 추가 ~~~
- 사용방법
- fa-spin은 아이콘을 돌린다
- fa-fw는 공백 포함 넓이는 고정하여 깔끔해보이도록 함
- fa-3x는 크기 변경
~~~