オーバーフローラップとワードブレイクの違いは?


87

overflow-wrap/word-wrapとの正確な違いはword-break何ですか?そして、誰かが私に非常に長いリンクを壊すためのより良いものを教えてもらえますか?ほとんどの人は、単語区切りを組み合わせて使用​​する必要があると言いますoverflow-wrapが、それはあまり論理的に見えません。クロスブラウザのサポートを向上さoverflow-wrapせるword-wrapためにと組み合わせて使用するのが最善の方法だと思います。どう思いますか?


6
なぜこれが重複した質問として閉じられたのかについて最初に混乱するかもしれない将来の読者へ。CSSテキストモジュールレベル3の状態overflow-wrapword-wrap機能的には100%同一である必要があります。個人的にword-wrapは、レガシーブラウザのサポートにのみ使用する必要があり、CSSの将来のバージョンで非推奨または削除される可能性があるという印象を受けます。
タイラークロンプトン2016年

23
これを閉じることに投票した人たちへ:これは述べられたように重複ではなく、質問は同じではありません。申し立てられた重複は、2つのプロパティの2つの特定の値に関するものであり、この質問は2つのプロパティに関するものです。他の人が質問に答えることを禁止する権利があると信じている人がいるのは本当に嫌いです。質問が気に入らない場合は、読まないでください。
hibou57 2017

3
@タイラークロンプトンあなたが混乱word-wrapしているword-break
カタンフェタミン

1
Hibou57に同意します。これは重複ではありません。この質問に対する答えをオンラインで見つけるのは難しいため、残念ながら閉鎖されています。
ポール・エベール

@TylerCromptonこの質問はについてではありませんword-wrap。これは約word-breakです。これを重複した質問として閉じることは意味がありません。
孤独な学習者

回答:


67

ソースからの引用

  • ワードラップ:ワードラップCSSプロパティは、他の方法では分割できない文字列が長すぎて包含ボックスに収まらない場合にオーバーフローを防ぐために、ブラウザが単語内の行を分割できるかどうかを指定するために使用されます。

  • オーバーフローラップword-wrapプロパティはoverflow-wrap、CSS3テキスト仕様の現在のドラフトで名前が変更されました

  • word-break: word-break CSSプロパティは、単語内の行を分割する方法(または分割するかどうか)を指定するために使用されます

したがって、正しい組み合わせであるワードラップと組み合わせてワードブレイクが必要です。


はいword-wrapで十分ですが、コンテナの幅が制限されていると、レイアウトが混乱する可能性があります。
karthikr 2013年

なるほど、分かりました。リンクにのみワードラップを使用しているので、レイアウトが崩れることはありません。
アンセルムス2013年

7
答えが見つかりました:「これらについて説明しているW3仕様は、word-break:break-allはCJKテキストで特定の動作を要求するためのものであるのに対し、word-wrap:break-wordはより一般的で非CJK-であることを示唆しているようです。気づいて、行動してください。」(stackoverflow.com/questions/1795109/…)CJKは、中国語、日本語、韓国語の総称です。
アンセルムス2013年

ああ。しかし、あなたの質問はまったく違うと思いました。とにかく、あなたがあなたの答えを見つけてくれてうれしいです、そして私は私が少し助けになったと信じています
karthikr 2013年

4
ワードラップは廃止されたMicrosoft拡張機能であり(ほとんどのブラウザーでプレフィックスなしのプロパティとして実装されていたとしても)、現在はオーバーフローラップに置き換えられています。MDNは、2つの異なるページを1つのページにマージしました:developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap
CharlesM 2018

8

この時点で、word-break: break-wordは実際にはのエイリアスであることを理解するのに役立ちますoverflow-wrap: anywhere

word-break: break-word正式に非推奨になりました。CSSテキストモジュールレベル3ワーキングドラフトを参照してください。

レガシーコンテンツとの互換性のために、word-breakプロパティは非推奨のbreak-wordキーワードもサポートしています。指定すると、overflow-wrapプロパティの実際の値に関係なく、word-break: normalおよびと同じ効果がありoverflow-wrap: anywhereます。

ここで注意すべきことword-break: break-wordは、のエイリアスで あり、のエイリアスでoverflow-wrap: anywhereないということです。overflow-wrap: break-word

word-break: normalはのデフォルト値にすぎword-breakないため、に別の値を設定しない限り、無視してかまいません。word-break。)

どのようにoverflow-wrap: anywhereそしてoverflow-wrap: break-word異なりますか?

2つのドキュメントの唯一の違いは、overflow-wrap: anywhere「最小コンテンツの固有サイズの計算」の場合、「単語の区切りによって導入されるソフトラップの機会を考慮」することです。overflow-wrap: break-wordません。

幅を考慮すれば、幅の方が正確な場合もあると思いますか?


7

正確な違いは次のとおりです:(Chrome v81でのテストに基づいており、仕様を参照して観察結果を確認しています)

空白

normal(デフォルト):空白チェーンと改行を折りたたむ。必要に応じて改行を追加します
nowrap:空白チェーンと改行を折りたたみます。改行を追加しません
pre-line:空白チェーンを折りたたむ; 必要に応じて改行を追加します
pre-wrap:折りたたみなし。必要に応じて改行を追加します
break-spaces:改行をトリガーできるスペースを除いて、プリラップと同じです
preです。:折りたたみなし。改行を追加しません

注:選択したwhite-space値に「改行が追加されない」と表示されている場合、次のプロパティの改行動作は適用できません(つまり無視されます)。

ワードブレイク

normal (デフォルト):コンテナ内に収まる最後の単語の終わりで行を分割します[存在する場合]、それ以外の場合、行は中断されません
break-wordは行を中断し:コンテナ内の最後の単語の終わりで行を中断します[存在する場合]、それ以外の場合はコンテナの終わり
break-all行を中断しますコンテナの終わり[近くに空白があっても単語を分割できます]

オーバーフローラップ(レガシー名:ワードラップ)

normal(デフォルト):コンテナ内の最後の単語の終わりで行を分割します[存在する場合]、そうでない場合
break-wordは行を中断しません:コンテナ内の最後の単語の終わりで行を中断します[存在する場合]、それ以外の場合はコンテナの終わりで[ -フレックスコンテナ]、それ以外の場合、行は途切れません。
anywhere:コンテナー内に収まる最後の単語の終わりで行を分割します[存在する場合]、それ以外の場合はコンテナーの終わりで[word-break: break-word]

overflow-wrap: break-word(コンテナに対して線が長すぎる組み合わせの場合)、線が途切れていない場合、フレックスコンテナが指定されたフレックス比を超えて拡張する可能性があることに注意してください(コンテンツが長すぎるため、他のフレックスコンテナを強制的に縮小します)。


あなたが「ドキュメントに基づいて」と言ったという事実に基づいて、私はこのコンテンツがどこかからコピーされていると思いますか?SOは通常、他の場所にあるコンテンツの純粋なコピーであるコンテンツに眉をひそめますが、どちらの方法でも、盗用を避けるためにコンテンツをコピーするときにソースを引用する必要あります。また、Chromeでのテストは、仕様の規定に準拠しているかどうかのソースとしてはほとんど信頼できません。
TylerH

1
@TylerHそれは他の場所のコンテンツの純粋なコピーではありません(それに近いものですら)。動作の説明のほとんどは、Chromeで直接テストしたものであり、ドキュメントページを参照して、観察した動作が仕様に沿っていることを確認し、追加の動作を見逃していないことを確認しました。盗作からは程遠い。(私は明確にするために一番上にノートを更新します)
Venryx

本当にすべてを理解したい真面目で忍耐強い読者にとって、これは最良の答えです。本当にありがとう。
ZYinMD
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.