0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【フロントエンド1000本ノック】0047_flex-basisの役割をwidthとの違いに着目して説明し、flexショートハンドプロパティ(例: flex: 1 1 auto;)を解読せよ。

Posted at

この記事は人間が書きました

はじめに

こんにちは、赤神です!
この記事は、「1000本ノック」という取り組みの中のフロントエンドのための課題の1つです。

「1000本ノックとは」
https://qiita.com/sora_akagami/items/c8da4296dea3823376ca

flex-basis とは

flex-basis は、flex-growflex-shrink による余白の計算が行われる前の、アイテムの基本的なサイズを指定するプロパティです。

flex-basiswidth の違い

width は常に「幅」を指定するのと違い、flex-basis は、主軸の方向によって「幅」または「高さ」を指定します。

  • flex-dirextion: row(横並び)の場合:「幅」として機能
  • flex-direction: column(縦並び)の場合:「高さ」として機能

Flexアイテムに widthflex-basis の両方が指定された場合、flex-basis が優先されます。flex-basisflex レイアウトにおける「公式の基本サイズ」と考えると分かりやすいかもしれません。

flex ショートハンド

flex プロパティは、これまで学んだ3つのプロパティを一行で書けるショートハンド(短縮系)です。

flex: <flex-grow> <flex-shrink> <flex-basis> の順で値を指定します。

例えば、flex: 1 1 auto; の場合、

  • flex-grow1:コンテナに余白があれば伸びる(割合1)
  • flex-shrink1:コンテナのスペースが足りなければ、縮む(割合1)
  • flex-basisauto:基本サイズは自動で決まる(コンテナの大きさや width の値が使われる)

作成した回答

flex: 0 1 auto;

  • flex-grow0:アイテムは伸びない(デフォルト)
  • flex-shrink1:アイテムのスペースが足りなければ、縮む(割合1)
  • flex-basisauto:アイテムの基本サイズは、自身の width やコンテンツのサイズから自動で決まる

flex: 1 0 200px;
flex-grow1:アイテムに余白があれば伸びる(割合1)

  • flex-shrink0:アイテムは絶対に縮まない
  • flex-basis200px:アイテムの基本サイズは 200px
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?