[CSS] Grid
grid
gridはcontainer(親要素)とitem(子要素)からなる.<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Grid layout</title>
<link rel="stylesheet" href="./style.css" />
</head>
<body>
<div class="container">
<div class="item">A</div>
<div class="item">B</div>
<div class="item">C</div>
<div class="item">D</div>
<div class="item">E</div>
<div class="item">F</div>
</div>
</body>
</html>
1. display: grid
コンテナに表示:grid;を選択して開始.container {
display: grid;
/* gird | inline-grid */
}
ただしgridを追加しても何の変化もありません.
inline gridはinline blockと同様に、コンテンツに応じてスペースを占有します.
.container {
display: grid;
grid-template-columns: 1fr 1fr;
}
グリッドは、行と列を定義する場合にのみ有効になります.
2. grid-template-columns
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Grid layout</title>
<link rel="stylesheet" href="./style.css" />
</head>
<body>
<div class="container">
<div class="item">A</div>
<div class="item">B</div>
<div class="item">C</div>
<div class="item">D</div>
<div class="item">E</div>
<div class="item">F</div>
</div>
</body>
</html>
.container {
display: grid;
/* gird | inline-grid */
}
.container {
display: grid;
grid-template-columns: 1fr 1fr;
}
.container {
display: grid;
grid-template-columns: 150px 50% auto;
/* 속성값이 150px, 50%, auto 일 경우 3열이 만들어지고
1열의 너비는 150px, 2열의 너비는 50%, 3열의 너비는 나머지공간 */
}
.container {
display: grid;
grid-template-columns: 1fr 2fr 3fr;
/* 속성값이 1fr 2fr 3fr 이면 1:2:3의 비율로 3열이 만들어진다. */
}
3. grid-template-rows
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 50px 100px;
}
👩💻 注意)行数が指定されていない可変の場合はgrid-auto-rowsを使用します.
4. repeat
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
/* 1fr을 3번 반복 = 1fr 1fr 1fr */
.container {
display: grid;
grid-template-columns: repeat(3, 1fr 2fr);
}
/* 1fr 2fr 을 3번 반복 = 1fr 2fr 1fr 2fr 1fr 2fr */
5. grid-gap
① grid-row-gap
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-column-gap: 30px;
}
② grid-column-gap
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-row-gap: 30px;
}
③ grid-gap
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 30px;
/* grid-gap의 값이 하나이면 열과 행 모두 적용 된다. */
}
---追加---
Reference
この問題について([CSS] Grid), 我々は、より多くの情報をここで見つけました https://velog.io/@hyesom/CSS-Gridテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol