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をいじりながら表示を確認できます。
詳細な使い方は過去に記事にしているので、そちらをご覧ください。



Google Maps APIをローカル開発環境で使用するときの制限設定方法
Visual Studio Codeの文字サイズやタブサイズの設定方法
効率的なマークアップが出来るようになるEmmetでHTMLを書く時の基本
WordPressのデータを取得できるWP REST APIの使い方
Visual Studio Codeで「.html」拡張子以外のファイルでもEmmetを使えるようにする
ブログに見出しを設置できるjQueryプラグイン「TOC | jQuery Table of Contents」
CSSの読み込みで「its MIME type (‘text/html’) is not a supported stylesheet MIME type」エラーが表示されて読み込みができない場合の解決方法
WordPress5.5のサイトマップ機能を無効にする
WordPressのカスタム投稿タイプを追加後、ページは存在しているはずなのに404になる場合の解決方法
Bracket Pair ColorizerでVisual Studio Codeの括弧を色分けして見やすくする
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1Passwordの開発者向け機能(SSH Agent / Environments / 1Password CLI / Developer Watchtower)
Default Folder Xで保存ダイアログ内のファイルリストにフォーカスする方法
Obsidianで整理した知識をAnkiで定着させる方法
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」
chezmoi(シェモア)で始めるdotfiles管理
GitHubの通知を見逃さない!通知に特化したアプリ「Gitify」