1. ホーム
  2. html

[解決済み] フレックスコンテナ内の残りの高さまたは幅を埋める

2022-03-16 19:18:07

質問

フレックスボックスで2つのdivを横に並べています。右側のdivは常に同じ幅で、左側のdivは残りのスペースを取得するようにしたいです。しかし、私がその幅を特別に設定しない限り、それはありません。

そのため、現時点では96%に設定されています。これは、画面を本当につぶすまでは問題ないように見えますが、そうすると、右側のdivは必要なスペースに少し窮することになります。

このままでもいいのですが、何か方法があるような気がします。

右はいつも同じで、左のあなたは左のものをすべて手に入れる。

.ar-course-nav {
  cursor: pointer;
  padding: 8px 12px 8px 12px;
  border-radius: 8px;
}
.ar-course-nav:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
<br/>
<br/>
<div class="ar-course-nav" style="display:flex; justify-content:space-between;">
  <div style="width:96%;">
    <div style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">
      <strong title="Course Name Which is Really Quite Long And Does Go On a Bit But Then When You Think it's Stopped it Keeps on Going for even longer!">
                Course Name Which is Really Quite Long And Does Go On a Bit But Then When You Think it's Stopped it Keeps on Going for even longer!
            </strong>
    </div>
    <div style="width:100%; display:flex; justify-content:space-between;">
      <div style="color:#555555; margin-right:8px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;" title="A really really really really really really really really really really really long department name">
        A really really really really really really really really really really really long department name
      </div>
      <div style="color:#555555; text-align:right; white-space:nowrap;">
        Created: 21 September 2016
      </div>
    </div>
  </div>
  <div style="margin-left:8px;">
    <strong>&gt;</strong>
  </div>
</div>

解決方法は?

を使用します。 flex-grow プロパティは、フレックスアイテムが空きスペースを消費するようにするためのものです。 主軸上に .

このプロパティは、画面サイズの変更や他のアイテムの追加/削除などの動的な環境に応じて長さを調整し、可能な限りアイテムを拡張する。

よくある例としては flex-grow: 1 または、短縮プロパティを使用します。 flex: 1 .

したがって、代わりに width: 96% を使用します。 flex: 1 .


と書かれていましたね。

今のところ、96%に設定されていますが、これは画面を本当につぶすまでは問題ないように見えます - そうすると、右側のdivに必要なスペースが少し欠けてしまいます。

固定幅のdivがつぶれるのは、別のflexプロパティに関係しています。 flex-shrink

デフォルトでは、フレックスアイテムは flex-shrink: 1 コンテナからはみ出さないように縮小することができます。

この機能を無効にするには flex-shrink: 0 .

詳細はこちらをご覧ください。 flex-shrink 因子 の部分は、こちらの回答でご確認ください。


フレックスアライメントについて詳しくは 主軸 をご覧ください。

フレックスアライメントについて、詳しくは 横軸 をご覧ください。