HTML/CSS 入門 Gridで幅を調整する
以下のようなGridレイアウトがあります。
HTMLとCSSは以下です。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="002.css">
<title>grid002</title>
</head>
<body>
<div class="content">
<div>A</div>
<div>B</div>
<div>C</div>
<div>D</div>
<div>E</div>
<div>F</div>
<div>G</div>
<div>H</div>
<div>I</div>
</div>
</body>
</html>
.content {
width: 960px;
margin: auto;
display: grid;
grid-template-columns: 320px 320px 320px;
}
.content>div{
background: lightpink;
color: #FFF;
text-align: center;
padding: 10px;
}
.content>div:nth-child(even) {
background: lightblue;
}
.content の横幅を960pxとしていて、三等分したいので今は grid-template-columns: 320px 320px 320px; としています。
grid-template-columns にはパーセントも指定できる
grid-template-columns にはパーセントも指定できるので以下のようにしても同じです。
grid-template-columns: 33.3% 33.3% 33.3%;
新たな単にfrも指定できる
frという単位でも指定できます。
grid-template-columns: 1fr 1fr 1fr;
比率のようなものなので、すべてのカラムが1fr = 均等となります。
以下のようにした場合は
grid-template-columns: 1fr 1fr 2fr;
以下のようになります。三カラムだけ他の2倍の幅をとっています。
repeatで簡潔にかける
以下のようにrepeatを使うと同じことが簡潔にかけます。
grid-template-columns: repeat(3, 1fr);
repeatの第一引数は「何回繰り返すか」です。第二引数は「何を」です。
この場合は、「1frを三回繰り返す」となるので、以下と同じです。
grid-template-columns: 1fr 1fr 1fr;
以下のようにした場合は、grid-template-columns: 1fr 1fr 2fr; と同じです。
grid-template-columns: repeat(2, 1fr) 2fr;
ディスカッション
コメント一覧
まだ、コメントがありません