【CSS】grid layout -その1-
グリッドレイアウトが便利なので、基本的なことから学んだことを複数回に分けて記載していきたいと思います。
〇 grid-containerの記載例
.grid-container {
grid-template-columns:;
/*
1fr 1fr 1f
minmax(100px, 1fr) 1fr
repeat(3, 1fr)
100px auto 100px 1fr
*/
grid-template-rows:;
/*
min-content min-content 1fr
max-content 100px 1fr
70% 30%
50% 100px auto
*/
grid-template-areas:;
/*
"header header header"
"main main . sidebar"
"footer footer footer";
*/
gap: 20px 50px;
}
.item1 { grid-area: header;}
.item2 { grid-area: main;}
.item3 { grid-area: sidebar;}
.item4 { grid-area: footer;}
fr は外枠のサイズに合わせてグリッドを分割して、サイズを自動的に調節してくれる。
1fr 1fr 1fr
は3分割になる。
auto は、同じ行列にfrがある場合は、グリッド内のコンテンツに合わせてサイズを調節し、frがない場合は、1frと同じ働きをする。
grid-template-areas
は、grid-area で指定されたグリッド領域の名前を参照し、グリッドテンプレートを定義する。グリッドエリア名を繰り返すと、そのセルにまたがってコンテンツが表示さる。ピリオドは空のセルを表す。
gap
はrow-gap
, column-gap
の短縮形で、値は一つでも可。gap:20px 50px;
はrow-gap:20px; column-gap:50px;
と同じ。
〇 使用例
text1
text2
text3
html
<main>
<div class="grid_container">
<div class="a">
<p>text1</p>
</div>
<div class="b">
<p>text2</p>
</div>
<div class="c">
<p>text3</p>
</div>
</div>
</main>
css
main {
margin:50px;
place-items: center;
}
.grid_container{
display: grid; /* 又は inline-glid */
grid-template-columns:1fr 1fr 1fr;
grid-template-rows:repeat(3, 100px);
grid-template-areas:"a a c" "a a c" "b b c";
gap: 20px 50px;
background:#fff;
margin: 20px;
padding:20px;
text-align:center;
position: relative;
overflow:scroll;
}
.grid_container div {
font-size:20px;
font-weight:bold;
overflow:hidden;
}
.grid_container .a {
background:#fff4ff;
grid-area:a;
}
.grid_container .b {
grid-area:b;
background:#f9f4ff;
}
.grid_container .c {
grid-area:c;
background:#f4f4ff;
}
@media screen and (max-width:760px){
.grid_container{
grid-template-rows:repeat(4, 100px);
grid-template-columns:1fr;
grid-template-areas:"a a a" "a a a" "b b b" "c c c";
}
}
参考記事
https://kumonosublog.com/coding/css/grid_layout_fr_auto/
https://www.w3schools.com/css/css_grid.asp
https://developer.mozilla.org/en-US/docs/Web/CSS/min-content
https://developer.mozilla.org/en-US/docs/Web/CSS/max-content
https://developer.mozilla.org/en-US/docs/Web/CSS/fit-content
お薦め
太陽光発電への投資を募ってきた『竹田恒泰』、巨額詐欺容疑の『三浦瑠麗の夫』と懇意で「仕事の関係でご一緒する機会が多々ある」と明かしていたことが判明https://t.co/39QbRyPeoF
— RAPT理論+α (@Rapt_plusalpha) January 30, 2023
年齢を重ねるごとに新しく生まれ変わり、進化されているRAPTさんから学んだこと(十二弟子・ミナさんの証)https://t.co/hpNzCBy7xu
— RAPT理論+α (@Rapt_plusalpha) January 30, 2023
イギリス政府が50歳未満の追加ワクチン接種を中止すると発表 Googleがこのニュースを検索できないよう操作していたことも判明https://t.co/2CZ9nKFN1A
— RAPT理論+α (@Rapt_plusalpha) January 30, 2023
国民の味方のはずの自民党『小野田紀美』議員、Twitter上で国民のアカウントを次々とブロック 自ら『ブロック小野田』と名乗り開き直る 『ブロック太郎』とも昵懇https://t.co/a4QoxpCl6O
— RAPT理論+α (@Rapt_plusalpha) January 30, 2023
前澤友作監修の『シングルマザー限定マッチングアプリ』が、幼児虐待を助長すると批判殺到 リリースからわずか1日で配信停止https://t.co/yaFrPfqKd6
— RAPT理論+α (@Rapt_plusalpha) January 29, 2023
RAPT理論を知ることで、複雑な世の中のカラクリが理解できるようになり、あらゆる分野の要点を理解できるようになった(十二弟子・サキさんの証)https://t.co/3FAeLwavYO
— RAPT理論+α (@Rapt_plusalpha) January 29, 2023