Houn

記事内に広告を含む場合があります

詳しく見る
Web制作

公開日:2019.08.19

更新日:2022.11.20

スマホでの改行位置を指定する2つの方法

Webはさまざまなサイズで閲覧されるため、テキストの改行位置を完璧にコントロールするのは難しく、ある程度容認することは必要かと思います。

ただ、例えば中央寄せの見出し文などの場合

あのイーハトーヴォのすきとお
った風

だとやっぱり美しくはないので(この例はわざと改行を入れてますが)

あのイーハトーヴォの
すきとおった風

のように、綺麗な位置で改行させたいものです。

スマホ閲覧時など画面サイズが小さいときに任意の位置で改行させ、読みやすさと見栄えを保つ2つの方法を紹介します。

方法1.スマホでだけ改行タグを出現させる

改行させるためのHTMLタグは<br>ですが、これをスマホ(画面サイズが小さいとき)でだけ適用させる方法です。

HTML

<br class=”sp-br”>

CSS

@media screen and (min-width: 560px) {
.sp-br {
display: none;
}
}

”画面幅560ピクセルまでは、「sp-br」とクラス名を付けたbrタグは非表示にする”という形ですね。これを、改行させたい文章として区切りの良い位置に差し込みます。

実際に適用させたのがこちらです。

あのイーハトーヴォの
すきとおった風

開発者ツールでスマホ表示に切り替えると「イーハトーヴォの」と「すきとおった」の間で改行が入ります。

このようなHTMLになっている状態ですね。

<p>あのイーハトーヴォの<br class="sp-br">すきとおった風</p>

方法2.改行させたくない文字群を囲う

もうひとつの方法は、ここの箇所では改行させたくないという文字群をspanタグで囲い、それをインラインブロック要素にします。

HTML

<span class=”noBreak”></span>

CSS

.noBreak {
display: inline-block;
}

実際に適用させたのがこちらです。

あのイーハトーヴォのすきとおった風

中身はこうなっています。

<p><span class="noBreak">あのイーハトーヴォの</span><span class="noBreak">すきとおった風</span></p>

spanタグ同士は繋げて書く

なお、下記のようにHTML記述時にspanタグ間に改行を加えると、ブラウザ上で妙な余白が生まれてしまいます。

<p><span class="noBreak">あのイーハトーヴォの</span>
<span class="noBreak">すきとおった風</span></p>

そのためエディタ上では見づらくなるのですが、このように繋げて書く必要があります。

<p><span class="noBreak">あのイーハトーヴォの</span><span class="noBreak">すきとおった風</span></p>