iOS Safariで文章の最後の1文字だけ改行されてしまう現象の対処法

最近iOS Safariで起きた現象とその対処法についてまとめておきます。
ブラウザ表示のトラブルといえばIEでばかり起きるもののイメージがあったのですが、最近意外とSafariで見たときに「あれ?」となることが増えてきました。
文章の最後の1文字だけ改行されてしまう
横幅が足りなくて改行されているのではなく、明らかに横幅は余裕があるのに、最後の1文字だけが改行されてしまいました。
原因としては下記のようなことがあるみたいなのですが、自分の場合はdisplay: inline-block;でフォントサイズを14pxで文字数が全角13文字のときに発生しました。
display: inline-block;を指定しているfont-feature-settings: "palt"を指定している- 文字列が全て全角文字
- 前後に空白がある(コード上の空白も含め)
しかも、iPhone長押しでテキストの選択をすると1行で選択されるので、あくまで要素としては1行になっていて、最後の1文字だけ改行された位置に表示されているような気持ち悪い現象です。
現時点で取れる対処法は下記のどれかです。
- 文章の最後に文字を入れて透明にする
white-space: nowrap;で改行できないようにする- フォントサイズを微妙に変える(やりたくない)
ボタンラベルなどの短い文章であればwhite-spaceがラクですが、文章の場合は空白を入れる必要がありそうです。
文章の最後に文字を入れる
疑似要素を使って、文章の最後に文字を入れ、それを透明にしてあげます。
.paragraph::after {
content: '.'; // 文字を設定
display: inline-block;
width: 0;
color: transparent;
pointer-events: none;
}pointer-events: none;を付けておけば、選択もできなくなります。
これで最後の文字である「.」が改行されたとしても、透明なので見た目は何も変わらないようになります。
改行できないようにする
white-space: nowrap;を使えば、改行できないようになります。
この指定をしておけば、1行に揃ってくれました。
.btn {
white-space: nowrap;
}シミュレーターを使えば試行錯誤しながら調整できる
この現象は実機でないと確認できないので、修正 → 実機で確認を繰り返さないといけないのは少し面倒です。
そこで、MacユーザーであればiOSシミュレーターを使うのがオススメです。
iOSシミュレーターを使えば、開発者ツールで実際にCSSをいじりながら表示を確認できます。
詳細な使い方は過去に記事にしているので、そちらをご覧ください。


HTTP通信をラクに実装できる「axios」の基本
SafariでFacebookのPage Pluginに「リクエストを処理できませんでした」とダイアログが表示される問題
Visual Studio CodeでDart Sassのコンパイルができる拡張機能「DartJS Sass Compiler and Sass Watcher」
WordPressのContact Form 7で送信時に回転アイコンが出たまま止まってしまうときのチェックリスト
Visual Studio Codeとスニペット・ドキュメント検索アプリの「Dash」連携を行うプラグイン
JavaScriptで日付をコピーして計算すると、コピー元の日付も変わってしまう場合の対処法
ターミナルでGitを使う時に最低限覚えておきたいコマンド
Sassのマップ機能を使った変数の管理方法
Visual Studio Codeでパス補完機能を細かく設定して自分好みにできる拡張機能「Path Autocomplete」
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
Macでアプリごとに音量を調節できるアプリ「Background Music」
Macのターミナルでパスワード付きのZIPファイルを作成する方法
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる
SteerMouseの「自動移動」機能で保存ダイアログが表示されたら自動でデフォルトボタンへカーソルを移動させる
iPhoneでタッチが一切効かなくなった場合に強制再起動する方法