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を指定した場合は全く縮小しなくなります。

関連記事

2020.09.18

HTML・CSS

YouTubeの動画からサムネイル画像を取得

YouTubeの動画からサムネイル画像を取得します。取得には半角英数11桁の動画IDが必要です。サムネイル画像は下記の通りサイズ別に分かれていますが、最大サイズ…

2021.02.19

HTML・CSS

CSSプロパティ::-webkit-scrollbarでブラウザのスクロールバーをカスタマイズ

webkit系ブラウザのSafariとChromeは、CSSプロパティの::-webkit-scrollbarでスクロールバーの見た目をカスタマイズできます。デ…

2022.05.12

HTML・CSS

asideタグの使い方

asideタグはメインコンテンツの内容と関連はしているが、メインコンテンツではない補足情報を表します。主に「バナー広告」「関連記事」「サイドバー」「モーダルコン…

2024.09.25

HTML・CSS

marginの相殺について

兄弟要素と親子要素で発生するmarginの相殺について確認します。また相殺が発生しない例外についても確認します。デモページはこちら 共通のCSSは以下になります…

2020.10.15

HTML・CSS

CSS疑似要素のcontentプロパティにjQueryで設定したカスタムデータ属性の値を指定

デモページはこちら CSS疑似要素のcontentプロパティにjQueryで設定したカスタムデータ属性の値を指定します。以下のhtml構造でテストします。デモペ…

上に戻る