Growth Hackで得た知見やWeb制作の備忘録をまとめています。

This is standard

CSS

display:flexでPCの時は横並び、SPの時は縦並びに レイアウトしてみよう

投稿日:

display:flexでPCの時は横並び、SPの時は縦並びにレイアウトしていきます。

<ul class="flex">
    <li>
        <h2>タイトル</h2>
        <p>テキスト</p>
    </li>   
    <li>
        <h2>タイトル</h2>
        <p>テキスト</p>
    </li>
    <li>
        <h2>タイトル</h2>
        <p>テキスト</p>
    </li>
</ul>

HTMLは3つのBOXを作ります。リストタグでレイアウトしていきます。

    <style type="text/css">
        ul,li{
            list-style: none;
            margin: 0;
            padding: 0;
        }
        .flex{
            display: flex;
            justify-content: space-between;
        }
        .flex li{
            width: 30%;
            background-color: #ccc;
            text-align: center;
        }
    </style>

それではレイアウトを組んでいきましょう。まずはリストタグから整えていきます。
リストタグの●(点)を取るためにlist-style:none;を指定します。
デフォルトの余白をリセットするため、margin,paddingを0に。

続いてflexboxを指定していきます。
横並びにするには、親要素に指定するので、この場合はulタグに指定します。
boxの間隔を均等に配置したいので、justify-content:space-between;を指定します。

続いてBOXのレイアウトです。幅は余白分を考慮し、30%と指定します。
分かりやすいよう背景色を指定し、テキストは中央に配置します。

 /*PC版cssは省略します*/
  @media screen and (max-width: 768px){
        .flex{
            flex-direction: column;
        }
        .flex li{
            width: 100%;
            margin-bottom: 20px;
        }
    }

続いてSP版のレイアウトを作っていきましょう。ブラウザ幅768px以外がSP表示とします。
SP版は縦並びにしたいので、flex-direction:column;を指定します。
display:flex;と一緒に使うのことがポイントです。

次はBOXレイアウトです。liタグの部分になります。PC版で幅を30%にしたので、SP版では画面一杯に表示させたいですね。なので、width:100%を指定します。

こちらで完成です!

-CSS

Copyright© This is standard , 2022 All Rights Reserved Powered by STINGER.