8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CSS word-break: keep-all;での、記号で「改行するかしないか」少し調べた件

Posted at

単語の途中で切れてしまうのが見栄えが悪いので、
スペースを入れることにより、改行を操作するようにしたい...との要望を受けた。

「word-break: keep-all;」で可能だが、そもそも
どのブラウザでもスペースで改行されるのか?
ブラウザで差異はあるのか?
...とのことで、どうなるか調べた備忘録。

ちなみに、対象の箇所は以下CSSがかかっている。
(長すぎてはみ出した場合、3点リーダーが入るようになっている。)

h3 {
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: keep-all;
    word-wrap: normal;
    width: 200px;
}

スペースで改行されるか、記号を区切りとみなして改行するのか

以下、記号(&、括弧など)があると単語がくっついていても改行する場合があったので、
どの場合でそうなるのか調べてみた。

例)かっこで改行される
かっこで改行される場合のスクリーンショット
例)かっこで改行されない
かっこで改行されない場合のスクリーンショット
※改行するのは、文字が右端に到達して、単語が中途半端に見切れる場合のみ。
スペースが入っても、文字数が少なければ改行はされない。

下の図の見方

改行される 改行されない
X

※2017/06/07現在の結果です。

PC(Mac)

| | スペースで改行 | 「&」 |括弧() |すみ括弧【】|句読点「、」|
|:---:|:------:|:------:|:------:|:------:|:------:|:------:|
| Google Chrome |○|○|○|○|○|
| Safari | ○(半角スペースのみ。全角スペース不可。)|X|X|X|X|
| FireFox | ○(半角スペースのみ。全角スペース不可。)|X|X|X|X|

PC(Win)

スペースで改行 「&」 括弧() すみ括弧【】 句読点「、」
Google Chrome
FireFox ○(半角スペースのみ。全角スペース不可。) X X X X
IE11 X
Edge X X

iPhone6 (iOS10.3.2)

スペースで改行 「&」 括弧() すみ括弧【】 句読点「、」
Google Chrome ○(半角スペースのみ。全角スペース不可。) X X X X
Safari ○(半角スペースのみ。全角スペース不可。) X X X X

Android(4.4系)

スペースで改行 「&」 括弧() すみ括弧【】
Google Chrome ○(半角スペースのみ。全角スペース不可。)

まとめ

すべてのブラウザで、スペースを入れることにより改行が可能でした。
注意が必要なのは、スペースは 半角スペースでないと改行されない 点です。

また、ブラウザによっては、括弧や、&マークを記号と見なして
改行が入るようなので、記号にもスペースを入れたほうが無難。

また改行は、overflow-wrap: break-word;にすると効かないらしいので注意。

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?