写真を並べたようなページ
グリッドレイアウトページを見てみよう
https://www.itskn.jp/ ←こんなページ
https://www.itskn.jp/ ←参考サイト集
グリッドレイアウトの作り方はいろいろあるようです。
もりの学校の単元ページは、リストで、グリッドレイアウトのようになっています。
そては又後ですることにして今回は、CSSを使って別の方法で作ります。
まず一番簡単なHTMLを準備
ヘッダーとかフッターのあるページの本体部分にこれを作れば良いけれど。これはヘッダーもフッターもないページに作っていきます。
他にあるHTMLの間に作っても良いでしょう。
準備
index.htmlとして下のファイルを保存しましょう。もちろん他の名前でも良いです。
まずは、これだけ。
並べるためのテキストをつくる
次にカード上に並べるテキストを作っていきます。
作る場所は、</h1>の下です。
まず、<section class="listA"></sectin>で箱を作ります.
その中にカード(これも箱ですが)がたくさんある、そんなイメージでページを作ります。

<section class="listA><section>として大きな入れ物を作ったら、
その中に<div class="=container"><div>とカードにあたる箱を作ります。
その中に並べるカードに当たる箱を書きます。
中身を書くとこうなります。
中身は<p>なんちゃら</p>だけでも良いのですが
ここでは、リンク、写真、見出し、文を入れてあります。
そして<article></article>をコピーしていくつか並べるとHTMLはできあがりです。
先ほどの図のように文字などが縦にな編んでいるのが分かるでしょう。
一つ一つをボックスに入れて横に並べればカード型レイアウトが出来ます。
CSSを書 まず中に入れる箱を作る
ではcssを書いていきましょう。
CSSの名前は、
<link rel= "stylesheet" href="a31-a.css">
とhtmlで指定してあります。
ここに付け加えていきます。
.listA .container の中に
display: flex;
とあります。これが、横並びにしろという命令です。
フレックスというのは柔軟とかしなやかという意味。ボックスが柔軟に並ぶと言うことでしょうか。
でも柔軟と行ってももう少し指定がほしい。
そこで次の
flex-wrap: wrap
で、折り返して複数行に並んでも良いという意味になります。
いくつも並んだときに一つ一つを狭くしなくても、段を変えて良いというわけです。
でもまだ横並びになりません。
CSSを書 次に中に入れる箱にも
入れ物が出来たので中に入るもの(article)に並び方を指令します。
flex: 1 1 300px; で横に並べという命令です。
次の display: flex; は、listA の article もフレキシブルなボックスにしてしまおうという命令です。
これで画面の大きさに応じて段数を変えて捧持するようになります。
できあがったCSS
最終的ににこんなCSSになりました。
どこで何をしているか調べてみて下さい。
飯田の春←つくりかけ
飯田の春←完成
次の問題へ進む