투케이2K
50. (html/css/javascript/jquery) 부트스트랩 (bootstrap) 반응형 그리드 레이아웃 만들기 - container , col , grid, h 높이 본문
50. (html/css/javascript/jquery) 부트스트랩 (bootstrap) 반응형 그리드 레이아웃 만들기 - container , col , grid, h 높이
투케이2K 2021. 7. 19. 16:14[ 개발 환경 설정 ]
개발 툴 : Edit++
개발 언어 : html, css, js, jquery
[소스 코드]
<!DOCTYPE HTML>
<!-- 표시 언어 지정 -->
<html lang="ko">
<!-- 헤더 정의 부분 -->
<head>
<title>HTML TEST</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- 반응형 뷰 포트를 사용하기 위함 -->
<meta name="viewport" content="width=device-width, initial-scale=1 user-scalable=0">
<!-- Jquery CDN 로드 : 항상 최신 버전 사용 -->
<script src="https://code.jquery.com/jquery-latest.min.js"></script>
<!-- 부트스트랩 CDN 로드 : 항상 최신 버전 사용 : maxcdn -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/latest/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/latest/js/bootstrap.min.js"></script>
<!-- 부트스트랩 CDN 로드 : 항상 최신 버전 사용 : netdna -->
<!-- <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/latest/css/bootstrap.min.css"> -->
<!-- <script src="https://netdna.bootstrapcdn.com/bootstrap/latest/js/bootstrap.min.js"></script> -->
<!-- 내부 CSS 스타일 지정 -->
<style>
/*
[CSS 요소 설명]
*/
/* [html, body 영역 스타일 지정] */
html, body{
width : 100%;
height : 100%;
margin : 0;
padding : 0;
border : none;
overflow : auto;
}
/* [body 스크롤바 메인 스타일 지정] */
body::-webkit-scrollbar {
width: 10px;
background-color: #c1c1c1;
}
/* [body 스크롤바 thumb 스타일 지정] */
body::-webkit-scrollbar-thumb {
background-color: #444444;
}
/* [col 스타일 지정 실시] */
.col-md-4 {
background-color: #ffec99;
border: 1px solid #495057;
}
.col-md-8 {
background-color: #ff00ff;
border: 1px solid #495057;
}
.col-sm-3{
background-color: #0000ff;
border: 1px solid #495057;
}
</style>
<!-- 내부 JS 스타일 지정 -->
<script>
/*
[JS 요약 설명]
*/
/* [html 최초 로드 및 이벤트 상시 대기 실시] */
window.onload = function() {
console.log("");
console.log("[window onload] : [start]");
console.log("");
};
/* [이벤트 함수 정의] */
function main(){
console.log("");
console.log("[main] : [start]");
console.log("");
};
</script>
</head>
<body>
<!--
[요약 설명]
1. 컨테이너는 CSS에서 배운것 처럼 화면구성요소들을 묶기 위한 틀 입니다
2. 컨테이너는 보통 <div> 태그들을 중첩해 사용하는 형식을 취하며 부트스트랩도 동일합니다
3. container : 반응형으로 동작하며 고정폭을 가지고 있습니다 (자동 마진 크기를 가지고 있습니다)
4. container-fluid : viewport 전체 폭을 모두 차지하는 컨테이너 박스입니다
5. 부트스트랩의 그리드는 flexbox(Flexible Box Layout Module)에 기반하고있습니다
6. flexbox 는 기존의 float, display, position 등을 이용한 박스 배치를 컨테이너 안에서 중심축을 기반으로 일관된 방식으로 배치합니다
7. 부트스트랩의 그리드 시스템은 화면크기에 따라 사용할 수 있는 5개의 옵션을 제공합니다
(.col- (extra small devices - 화면크기 < 576px))
(.col-sm- (small devices - 화면크기 ≥ 576px))
(.col-md- (medium devices - 화면크기 ≥ 768px))
(.col-lg- (large devices - 화면크기 ≥ 992px))
(.col-xl- (xlarge devices - 화면크기 ≥ 1200px))
8. 부트스트랩에서는 기본적으로 em 이나 rem 단위를 사용하지만 그리드 컨테이너의 폭을 계산하는데는 viewport 를 따라 px 을 사용합니다
9. h : height 값을 지정할 때 사용합니다 (w 지정 옵션과 같음)
10. 그리드 제작 도움 사이트 : http://shoelace.io/
-->
<!-- 레아아웃 지정 -->
<div class="container-fluid h-25">
<div class="row h-50">
<div class="col-md-4">col-md-4</div>
<div class="col-md-8">col-md-8</div>
</div>
<div class="row h-50">
<div class="col-sm-3">col-sm-3</div>
<div class="col-sm-3">col-sm-3</div>
<div class="col-sm-3">col-sm-3</div>
<div class="col-sm-3">col-sm-3</div>
</div>
</div>
<!-- 레아아웃 지정 -->
<div class="container-fluid h-100">
<div class="row h-50">
<div class="col-md-4">col-md-4</div>
<div class="col-md-8">col-md-8</div>
</div>
<div class="row h-50">
<div class="col-sm-3">col-sm-3</div>
<div class="col-sm-3">col-sm-3</div>
<div class="col-sm-3">col-sm-3</div>
<div class="col-sm-3">col-sm-3</div>
</div>
</div>
</body>
</html>
[결과 출력]
[요약 설명]
1. 컨테이너는 CSS에서 배운것 처럼 화면구성요소들을 묶기 위한 틀 입니다
2. 컨테이너는 보통 <div> 태그들을 중첩해 사용하는 형식을 취하며 부트스트랩도 동일합니다
3. container : 반응형으로 동작하며 고정폭을 가지고 있습니다 (자동 마진 크기를 가지고 있습니다)
4. container-fluid : viewport 전체 폭을 모두 차지하는 컨테이너 박스입니다
5. 부트스트랩의 그리드는 flexbox(Flexible Box Layout Module)에 기반하고있습니다
6. flexbox 는 기존의 float, display, position 등을 이용한 박스 배치를 컨테이너 안에서 중심축을 기반으로 일관된 방식으로 배치합니다
7. 부트스트랩의 그리드 시스템은 화면크기에 따라 사용할 수 있는 5개의 옵션을 제공합니다
(.col- (extra small devices - 화면크기 < 576px))
(.col-sm- (small devices - 화면크기 ≥ 576px))
(.col-md- (medium devices - 화면크기 ≥ 768px))
(.col-lg- (large devices - 화면크기 ≥ 992px))
(.col-xl- (xlarge devices - 화면크기 ≥ 1200px))
8. 부트스트랩에서는 기본적으로 em 이나 rem 단위를 사용하지만 그리드 컨테이너의 폭을 계산하는데는 viewport 를 따라 px 을 사용합니다
9. h : height 값을 지정할 때 사용합니다 (w 지정 옵션과 같음)
10. 그리드 제작 도움 사이트 : http://shoelace.io/