• ―CSS

    【レイアウトに必須】justify-content、align-items、align-self、align-contentの使い方

    【レイアウトに必須】 justify-content align-items align-self align-contentの使い方
    【レイアウトに必須】 justify-content align-items align-self align-contentの使い方
    CSS
    1. 位置を変更するプロパティ
    2. まとめと補足
    3. 参考文献

    位置を変更するプロパティ

    親要素にdisplay:flexを指定した時に位置を変更することができるプロパティを紹介します。
    その他flexに関して興味のある方は下記をご覧ください。

    サムネイル

    Web制作では必須のdisplay:flexのflex,gapプロパティとは?

    サムネイル

    flexのorder,flew-wrap,flex-directionを深堀りしよう

    justify-content

    justify-contentは横方向の空いているスペースを使用して子要素の位置を調整できるプロパティです。

    CSS
    // 指定方法
    justify-content:値;

    // 初期値
    justify-content: flex-start ;

    flex-start

    flex-startは子要素を左詰めで並べることができる値です。

    center

    centerは子要素を中央寄せにすることができる値です。

    flex-end

    flex-endは子要素を右寄せで並べることができる値です。

    flex-endの参考画像

    space-between

    space-betweenは子要素を親要素の幅に両端揃えで並べることができる値です。

    space-betweenの参考画像

    space-around

    space-aroundは子要素を余白を均等割りして並べることができる値です。
    ※両サイドの余白だけは半分のサイズになります。

    space-aroundの参考画像

    align-items

    align-itemsは縦方向の空いているスペースを使用して子要素の位置を調整できるプロパティです。

    CSS
    // 指定方法
    align-items:値;

    // 初期値
    align-items: stretch ;

    stretch

    stretchは親要素の高さに合わせて子要素を伸縮することができる値です。

    stretchの参考画像

    flex-start

    flex-startは親要素の上部に合わせて子要素を並べることができる値です。

    flex-startの参考画像

    flex-end

    flex-endは親要素の下部に合わせて子要素を並べることができる値です。

    flex-endの参考画像

    center

    centerは親要素の上下中央に子要素を並べることができる値です。

    centerの参考画像

    baseline

    baselineは少し特殊で子要素の位置調整ではなく子要素内の文字の大きいサイズの下部に合わせて揃えることができる値です。

    baselineの参考画像

    align-self

    align-selfはalign-itemsでしている値を子要素事に上書きすることが可能なプロパティです。 なので子要素にalign-itemsと同じ値を指定するこで上書きが可能です。

    CSS
    // 指定方法
    align-self:値;

    // 初期値
    align-self: auto ;

    使用例

    HTML
    <div class="container">
     <div class="item1 child">1</div>
     <div class="item2 child">2</div>
     <div class="item3 child">3</div>
     <div class="item4 child">4</div>
    </div>
    <style>
     div {
      font-size: 2rem;
      font-weight: 700;
      color: #fff;
     }
     .container {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      height: 200px;
      border: 1px solid #000;
      width: 400px;
     }
     .child {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100px;
      width: 100px;
     }
     .item1 {
      background-color: #E33629;
      align-self: flex-start;
     }
     .item2 {
      background-color: #F8BD00;
     }
     .item3 {
      background-color: #319F43;
     }
     .item4 {
      background-color: #587DBD;
     }
    </style>
    align-selfの参考画像

    align-content

    align-contentは親要素の高さが指定されていて子要素が複数行の際に子要素の縦位置の変更をすることができるプロパティです。

    CSS
    // 指定方法
    align-content:値;

    // 初期値
    align-content: stretch ;

    stretch

    stretchは親要素の高さに合わせて子要素を伸縮することができる値です。

    stretchの参考画像

    flex-start

    flex-startは親要素の上部に子要素を揃えることができる値です。

    flex-startの参考画像

    flex-end

    flex-endは親要素の下部に子要素を揃えることができる値です。

    flex-endの参考画像

    center

    centerは親要素の上下中央に子要素を配置できる値です。

    centerの参考画像

    space-between

    space-betweenは親要素の上下に子要素を配置できる値です。

    space-betweenの参考画像

    space-around

    space-aroundは親要素の上下の余白を均等割りして子要素を配置できる値です。

    space-aroundの参考画像

    まとめと補足

    今回はflexの位置を変更するプロパティについてまとめてみました。
    私自身「justify-content」と「align-items」をよく使用しているのですが「align-self」と「align-content」を使用したことがなかったので良い勉強になりました。
    機会があれば是非使ってみたいと思いました。

    参考文献

    RECOMMEND

    サムネイル

    flexのorder,flew-wrap,flex-directionを深堀りしよう

    サムネイル

    Web制作では必須のdisplay:flexのflex,gapプロパティとは?