Grid를 이용하면 모든 레이아웃을 다 구현할 수 있다.(쉽게)
배치
모든 배치는 부모가 결정한다.
배치가 되려면 inline 속성이어야 한다.
예제
1
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
background-color: #2196F3;
padding: 10px;
display: grid;
grid-template-columns: repeat(4, 1fr);
/* repeat(4, 1fr) -> 1fr, 1fr, 1fr, 1fr */
/* grid-column-gap: 10px;
grid-row-gap: 10px; */
grid-gap: 10px;
}
.grid-item {
background-color: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(0, 0, 0, 0.8);
padding: 20px;
font-size: 30px;
}
.g9 {
color: red;
/* grid-column-start: 1;
grid-column-end: 5; */
grid-column: 1/5; /*1시작 5끝*/
grid-row: 1/2 span; /*1시작 2칸 차지*/
}
</style>
</head>
<body>
<h1>Grid Elements</h1>
<div class="grid-container">
<div class="grid-item g1">1</div>
<div class="grid-item g2">2</div>
<div class="grid-item g3">3</div>
<div class="grid-item g4">4</div>
<div class="grid-item g5">5</div>
<div class="grid-item g6">6</div>
<div class="grid-item g7">7</div>
<div class="grid-item g8">8</div>
<div class="grid-item g9">9</div>
</div>
</body>
</html>

2

만들어보기
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.grid-container {
background-color: #2196F3;
padding: 10px;
display: grid;
grid-template-columns: 1fr 2fr 1fr;
text-align: center;
}
.grid-item {
background-color: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(0, 0, 0, 0.8);
padding: 20px;
font-size: 30px;
}
.g1 {
grid-column: 1/3 span;
}
.g5 {
grid-column: 1/3 span;
}
</style>
</head>
<body>
<h1>Grid Elements</h1>
<div class="grid-container">
<div class="grid-item g1">1</div>
<div class="grid-item g2">2</div>
<div class="grid-item g3">3</div>
<div class="grid-item g4">4</div>
<div class="grid-item g5">5</div>
</div>
</body>
</html>
Flex
Flex는 Grid랑 문법은 똑같음
Flex는 한줄 정렬, Grid는 여러줄 정렬할 때 쓰기 기본적으로 Flex 쓰기
모든 배치엔 방향이 있다.
통신의 시작은 포트 개방이다.
방화벽은 기본적으로 모든 포트를 닫고있음
Share article