質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

1回答

1674閲覧

flexで折り返すと余白がついてしまう

kjshdfiuasye

総合スコア25

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2022/04/13 09:12

編集2022/04/15 10:09

実現したいこと

flex-wrap: wrap;で折り返した、.blockの最後の右横に余白が出てしまうので消してぴったり合わせたい。
文字は改行させたくない。画面幅を縮めたときは、.blockを折り返したい。

発生している問題・エラーメッセージ

イメージ説明

該当のソースコード

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3 4<head> 5 <meta charset="UTF-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 8 <title>Document</title> 9 <style> 10 *{ 11 margin: 0; 12 padding: 0; 13 box-sizing: border-box; 14 } 15 .container{ 16 border: 10px solid blue; 17 display: flex; 18 flex-wrap: wrap; 19 } 20 .block { 21 border: 1px solid red; 22 white-space: nowrap; 23 } 24 </style> 25</head> 26 27<body> 28 <div class="container"> 29 <div class="block">長い文字長い文字長い文字</div> 30 <div class="block">中くらいの文字</div> 31 <div class="block">短い文字</div> 32 </div> 33</body> 34 35</html>

試したこと

.conteinerのwidthにfit-content,min-content,max-contentを入れてみたり
.containerに親要素を作りその親要素にinline-blockとしてみたりした

回答に対して追記

.conteinerのwidthにfit-contentだと、
イメージ説明
短いウィンドウ幅で.blockが折り返されたとき、やはり右横に余白が出てしまいます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2022/04/14 00:57

その余白をどうしたいのですか? 消すことはできないので、別の位置に分配するということになるかと思いますが、どこに分配したいのか(たとえば、左横に移したい、など)をご提示ください。
kjshdfiuasye

2022/04/14 01:44

コメントありがとうございます。消したいかつ赤い枠も文字列ぴったりにして余白を分配したくないので、折り返す幅と折り返さない幅でメディアクエリで違うスタイルを当てようか検討しております。
Lhankor_Mhy

2022/04/14 01:51

.container のサイズを変えたい、ということですか?
kjshdfiuasye

2022/04/14 01:59

.containerのwidthサイズはウィンドウの左端辺から折り返しブロックの最右端辺になるように自動で変えたいです。
guest

回答1

0

.conteinerのwidthにfit-content,min-content,max-contentを入れてみたり

まさに「.conteinerのwidthにfit-content」だと思いますが
どうダメなのでしょうか?

投稿2022/04/13 09:20

yambejp

総合スコア114572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kjshdfiuasye

2022/04/13 09:27

追記しました。よろしくお願いいたします。
yambejp

2022/04/13 10:17

折り返したときの余白ですか・・・ CSSでは厳しい気がします
退会済みユーザー

退会済みユーザー

2022/04/13 11:10

フレックスボックスレイアウトじゃなく、グリッドレイアウトの方が良さそうに思えますね。
kjshdfiuasye

2022/04/14 01:50

コメントありがとうございます。 display: grid; grid-template-columns: repeat(auto-fit, fit-content); 上記設定しましたがダメでした。auto-fillだと空のグリッドが作られてしまうためauto-fitにしてみました。
yambejp

2022/04/14 09:24 編集

最悪見た目の体裁さえとれればjavascriptでの対応でもよろしいですか?
kjshdfiuasye

2022/04/15 01:09

コメントありがとうございます。cssだけでできればと安直に考えておりましたので、今回は諦めようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問