2024.08.16

HTML・CSS

flex-shrinkで文字の改行を防ぐ

flexボックスのレイアウトで、flexアイテムにflex-shrinkプロパティを指定してテキストが改行されるのを防ぎます。
デモページはこちら

以下のhtml構造で確認します。

<p>flex-shrink: 1(初期値)</p>
<div class="div-parent">
  <div class="div-icon style01">アイコン</div>
  <div>ダミーテキストダミーテキストダミーテキスト</div>
</div>
<div class="div-parent">
  <div class="div-icon style01">アイコンアイコン</div>
  <div>ダミーテキストダミーテキストダミーテキスト</div>
</div>

<p>flex-shrink: 0</p>
<div class="div-parent">
  <div class="div-icon style02">アイコン</div>
  <div>ダミーテキストダミーテキストダミーテキスト</div>
</div>
<div class="div-parent">
  <div class="div-icon style02">アイコンアイコン</div>
  <div>ダミーテキストダミーテキストダミーテキスト</div>
</div>

CSSはflex-shrinkプロパティを初期値の1から0に変更するだけです。flex-shrinkは必ずflexアイテムに指定します。これでアイコンのflexアイテムが文字量よりも狭くなって、文字が改行することはありません。

.div-parent {
  display: flex;
  align-items: center;
  margin: 0 0 1em;
  padding: 10px;
  background: #fff;
}

.div-icon {
  font-weight: bold;
  color: #fff;
  margin-right: 10px;
  padding: 3px 10px;
  background: #f36c49;
}

.style01 {
  flex-shrink: 1;
}

.style02 {
  flex-shrink: 0;
}

flex-shrinkプロパティはflexアイテムの縮小比率を指定します。指定する比率が大きいほど大きく縮小します。0を指定した場合は全く縮小しなくなります。

関連記事

2021.07.04

HTML・CSS

background-positionプロパティを利用した背景画像の右寄せ

background-positionプロパティを利用して背景画像を右寄せします。Y軸方向の位置は中央寄せにします。単純な右寄せであればbackground-p…

2021.09.12

HTML・CSS

90°回転させた要素をブロック要素内に収めるtransform-originの設定

左上に配置した長方形の要素を90°回転させた時に、親のブロック要素内に収めるtransform-originの設定です。デモページはこちら htmlは以下のよう…

2023.02.18

HTML・CSS

異なる親要素を持つ子要素の重なり

異なる親要素を持つ子要素の重なりを、positionプロパティとz-indexプロパティを指定して確認します。デモページはこちら 以下のhtml構造で確認します…

2020.12.28

HTML・CSS

CSSロードアニメーションの実装【円の一部分の色を回転】

デモページはこちら 円の一部分の色が回転する動作のCSSロードアニメーションを実装します。ローダーの見た目は全てCSSで実装するため、svgは使用しません。 h…

2020.09.07

HTML・CSS

animation-fill-modeの指定について

animation-fill-modeプロパティはCSSアニメーション実行後、対象要素にどのようなスタイルを適用するか設定します。animation-fill-…

上に戻る