부트스트랩이란 프론트엔드 개발을 빠르고 쉽게 할 수 있는 프레임워크이다. HTML,CSS 기반의 템플릿 양식, 버튼, 네비게이션 및 기타 페이지를 구성하는 요소를 포함한다.
H1 ~ H6까지 모든 제목 마크업이 가능하다.
유틸리티 클래스를 잘 사용하면 추가적인 CSS 속성정의 없이 편하게 원하는 결과물을 쉽게 만들 수 있다. 유틸리티 클래스란
margin
,padding
,color
,size
등 다양한 CSS 속성들을 사용하기 편하도록 미리 정의해 둔 클래스로 기본 컴포넌트 클래스들과 결합해 사용하는 클래스다.
color 🔍
<p class="text-primary">.text-primary</p>
<p class="text-primary-emphasis">.text-primary-emphasis</p>
<p class="text-secondary">.text-secondary</p>
<p class="text-secondary-emphasis">.text-secondary-emphasis</p>
<p class="text-success">.text-success</p>
<p class="text-success-emphasis">.text-success-emphasis</p>
<p class="text-danger">.text-danger</p>
<p class="text-danger-emphasis">.text-danger-emphasis</p>
<p class="text-warning bg-dark">.text-warning</p>
<p class="text-warning-emphasis">.text-warning-emphasis</p>
<p class="text-info bg-dark">.text-info</p>
<p class="text-info-emphasis">.text-info-emphasis</p>
<p class="text-light bg-dark">.text-light</p>
<p class="text-light-emphasis">.text-light-emphasis</p>
<p class="text-dark bg-white">.text-dark</p>
<p class="text-dark-emphasis">.text-dark-emphasis</p>
<p class="text-body">.text-body</p>
<p class="text-muted">.text-muted</p>
<p class="text-body-emphasis">.text-body-emphasis</p>
<p class="text-body-secondary">.text-body-secondary</p>
<p class="text-body-tertiary">.text-body-tertiary</p>
<p class="text-black bg-white">.text-black</p>
<p class="text-white bg-dark">.text-white</p>
<p class="text-black-50 bg-white">.text-black-50</p>
<p class="text-white-50 bg-dark">.text-white-50</p>
부트스트랩은 layout과 content 정렬을 위한 그리드 시스템을 제공한다. 그 중에 container, row, column 에 대한 사용 방법은 다음과 같다.
<div class="container">
<div class="row">
<div class="col-4">column1</div>
<div class="col-4">column2</div>
<div class="col-4">column3</div>
</div>
</div>
--> 결과
.container
사용.container-fluid
사용12units
이라고 생각하고 각각 몇 unit
씩 차지할 지 분배해줌col에 앞서 다른 옵션을 추가할 수 있다. 화면의 크기에 따라 가로 사이즈가 달라지도록 (반응형) 옵션을 추가할 수 있다.
<div class="container">
<div class="row">
<div class="col-md-8">.col-md-8</div>
<div class="col-6 col-md-4">.col-6 .col-md-4</div>
</div>
</div>
위 코드에서
col-md-8
은 화면의 크기가Medium
이상일 경우 row의 8칸을 차지하고,col-6 col-md-4
는 화면의 크기가Medium
이상일 경우 row 4칸을 차지하고, 미만일 경우 6칸을 차지하도록 지정한 것이다.
입력폼의 컨트롤 종류는 하나 하나가
class="form-group"
로 설정된div
태그로 정리된다.예를 들어,
label
과input
요소가class="form-group"
에 있다면, 레이블 아래 입력 항목을 정렬된 형태로 배치된다
해당 클래스로 지정 가능한 항목은
select
,input type="text"
,input type = "password"
,textarea
이다.
<div class="form-group">
<label for="pw1">Password:</label>
<input type="password" class="form-control" id="pw1">
</div>
<div class="form-group">
<label for="ta1">Text Area:</label>
<textarea class="form-control" id="ta1" rows="3"></textarea>
</div>
<div class="form-group">
<label for="sl1">Password:</label>
<select class="form-control" id="sl1">
<option>One</option>
<option>Two</option>
<option>Three</option>
</select>
</div>
입력폼 스타일 설정에 주의가 필요한 것은
체크 박스
와라디오 버튼
이다. 이들은class="form-group"
,class="form-control"
은 사용하지 않으며, 전용 클래스가 준비되어 있다.
<div class="checkbox">
<label for="foo">
<input type="checkbox" id="foo">
체크 박스
</label>
</div>
<div class="radio">
<label for="foo">
<input type="radio" id="foo">
라디오 버튼
</label>
</div>
--> 나머지는 bootstrap 공식 docs 확인하기 !
https://getbootstrap.com/docs/5.3/utilities/spacing/
콘텐츠 목록을 보여줄 때 카드형 배열을 많이 사용한다.
carousel은 이미지 슬라이딩 컨트롤이다. 웹 사이트에서 이미지를 나열하는 경우가 있는데, 위 아래로 브라우저의 스크롤을 이용해 나열하거나 왼쪽 오른쪽 스크롤을 이용하여 나열하게 되면 꽤나 조작하기가 번거롭다. 그래서 슬라이딩 형식으로 왼쪽에서 오른쪽으로 나열하는 컨트롤을
carousel
, 이미지 슬라이딩 컨트롤이라고 한다.
부트스트랩에는 매우 다양하고 많은 요소들이 있다. 해당 요소들을 외우려고 하지 말고 필요할 때마다 해당 사이트를 참조하여 사용할 수 있도록 하자.