iOS Safariで指定したフォントサイズにならない場合の対処法

この記事の要約
iOS Safariで指定したフォントサイズより拡大して表示されてしまう場合は、-webkit-text-size-adjustプロパティで、100%を指定すると無効化できます。
body{
-webkit-text-size-adjust: 100%;
}iOS Safariで指定したフォントサイズとは違うサイズになってしまう現象が起こりました。
iOS版のGoogle Chromeだとちゃんと指定したサイズになっていたので、iOS Safariが原因だと分かりました。
調べてみると、どうやら「iOS Safariには自動でフォントサイズを調整する」機能があるようです。
他にも、文章の最後の1文字だけ改行されてしまう現象があったり、思ったように実装できていないことがiOS Safariではたまにあります。
注意して確認するようにしないといけませんね。
-webkit-text-size-adjustの設定
iOS Safariには、1行あたりの文字量が多くなりすぎると読みにくくなるため、自動で文字を大きくして一定の文字量に保とうとする機能があります。
自分の場合、気がつかなかっただけかもしれませんが、ポートレートモード(縦向き)ではあまりこの現象を見たことがありませんでした。
しかし、ランドスケープモード(横向き)にしたときにこの現象を見つけたので、気になる方は1度ランドスケープモードにして確認してみるとよさそうです。
指定したフォントサイズを、勝手に拡大されてしまうのは大きなお世話です。
この機能は-webkit-text-size-adjustというプロパティで、100%を指定すると無効化できます。
body{
-webkit-text-size-adjust: 100%;
}正直、わざわざランドスケープモードにしてサイトを見る人は少ないと思いますが、場合によってはポートレートモードでも発生するかもしれませんので、リセットCSSに組み込んでおくのがよさそうです。
noneを指定してはいけない
noneを指定しても、自動拡大機能を無効化できるのですが、この方法だとPCのブラウザ(Google ChromeやSafari)でページの拡大機能で文字が拡大されなくなります。
つまり、noneだと文字の拡大縮小が完全にできなくなってしまうので、文字を拡大して読みたい人の使い勝手が悪くなります。
body{
-webkit-text-size-adjust: none;
}

Bracket Pair ColorizerでVisual Studio Codeの括弧を色分けして見やすくする
CSSで1行で簡単にスムーススクロールを実装できる「scroll-behavior」プロパティ
常時SSL化の設定をしたのに「保護された通信」が表示されない時はパスにHTTPが残っているのかも?
Vue.jsで値段を表示するときに3桁ごとにカンマを入れる方法
Nuxt.jsでVuexストア連携を行う方法|Nuxt.jsの基本
iOS Safariでinputタグにフォーカスを合わせると、自動で画面が拡大してしまう原因と解決方法
既存プロジェクトにCompassが導入されている場合に備えて、最低限Sassのコンパイルだけでも行えるようにしておく
WordPressのContact Form 7で送信時に回転アイコンが出たまま止まってしまうときのチェックリスト
JavaScriptのテンプレートリテラル内で条件分岐を行う方法
Safari 12.1から外観モード(ライト/ダーク)の判定をCSSで行えるように!
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
AirPodsで片耳を外しても再生が止まらないようにする方法
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
Macでアプリごとに音量を調節できるアプリ「Background Music」
Macのターミナルでパスワード付きのZIPファイルを作成する方法
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる
SteerMouseの「自動移動」機能で保存ダイアログが表示されたら自動でデフォルトボタンへカーソルを移動させる
iPhoneでタッチが一切効かなくなった場合に強制再起動する方法