
CSS 프론트엔드 프레임워크. 다양한 기기 환경(모바일, 태블릿, 데스크탑)에서 웹 페이지가 적절히 표시되도록 반응형 웹 디자인을 지원하는 도구다.
[Read the docs] - [Get started with Bootstrap]에서 link와 script 요소를 복사해서 사용
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js" integrity="sha384-FKyoEForCGlyvwx9Hj09JcYn3nv7wiPVlz7YYwJrWVcXK/BmnVDxM+D2scQbITxI" crossorigin="anonymous"></script>


[Docs] - [Download]에서 [Compiled CSS and JS] 파일 다운로드 후 bootstrap.css와 bootstrap.bundle.js 사용
Bootstrap에 미리 작성된 스타일 및 레이아웃을 사용하기 위해서는 특정 규칙을 따라야 한다. 아래는 'Spacing'을 표현하기 위한 Bootstrap의 문법이다.
| 이름 | 값 |
|---|---|
| m | margin |
| p | padding |
| 이름 | 값 |
|---|---|
| t | top |
| b | bottom |
| s | left |
| e | right |
| y | top, bottom |
| x | left, right |
| blank | 4 sides |
| 이름 | 값 (상대) | 값 (절대) |
|---|---|---|
| 0 | 0 rem | 0px |
| 1 | 0.25 rem | 4px |
| 2 | 0.5 rem | 8px |
| 3 | 1 rem | 16px |
| 4 | 1.5 rem | 24px |
| 5 | 3 rem | 48px |
| auto | auto | auto |
모든 HTML 요소 스타일을 일관된 기준으로 재설정하는 간결하고 압축된 규칙 시트를 말한다. 여러 요소에 일관성 있게 스타일을 적용시키는 기본 단계.
CSS가 전혀 없는 상태에서도 HTML 문서의 정보를 올바르게 전달하기 위해
Reset CSS 방법 중 대표적인 방법. 웹 표준 기준으로 브라우저 중 하나가 불일치 한다면 차이가 있는 브라우저를 수정하는 방법이다.
bootstrap-reboot.css라는 파일명으로 normalize.css를 자체적으로 커스텀해서 사용 중이다.재사용 가능한 독립적 부품. 더 크고 복잡한 시스템을 구축하기 위해 사용된다. (일종의 레고 블록)
Component 동작은 JavaScript를 활용해서 만들어졌다.
<script> 요소가 잘 추가되어 있는지 꼭 확인할 것! (JavaScript 요소)"data-*"로 시작하는 속성이 잘 정의되있는지도 확인하자.한번 잘 만들어두면 여러 페이지에서 반복 사용이 가능하다.
또한 각 컴포넌트가 자체 작동하는 모든 코드를 갖고 있기 때문에, 다른 컴포넌트에 영향을 거의 안 미친다.
대표 컴포넌트
carousel id와 버튼의 data-bs-target이 각각 일치하는지 확인할 것.modal id와 버튼의 data-bs-target이 각각 일치하는지 확인할 것.웹 데이터를 의미론적 구조화된 형태로 표현하는 방식. 요소의 시각적 측면보다 목적, 역할에 집중하는 방식이다. 개발자가 웹 페이지의 콘텐츠를 이해하기 쉽게 해준다.

CSS에 객체 지향 접근법을 적용한 이론. 구조와 스킨, 컨테이너와 콘텐츠를 분리하는 방식이다.
나쁜 예시
/* 중복이 발생하고, 구조가 고정됨 */
.header h2 { font-size: 24px; color: white; }
.footer h2 { font-size: 24px; color: black; }
좋은 예시
/* 공통 스타일: 콘텐츠의 본질(크기) 정의 */
.container .title { font-size: 24px; }
/* 개별 스타일: 위치나 맥락에 따른 외형(색상) 정의 */
.header { color: white; }
.footer { color: black; }

네이버는 널리라는 사이트에서 저시력자, 전맹 시각장애, 손 운동장애 등 일반적이지 않은 사용자의 입장에서 겪는 불편한 상황을 제공. 다양한 환경을 고려해야 하는 '웹 접근성'에 대한 지침을 알리려는 노력을 하고 있다.