- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像上に文字を表示するとiPhoneで位置がずれる)
画像上に表示される文字がiPhoneでずれる原因と解決方法
このQ&Aのポイント
- ホームページで時計画像の上に2行のテキストを表示する際、iPhoneのSafariブラウザでは文字の位置がずれてしまう問題が発生します。
- この問題はiPhoneのSafariブラウザがフォントサイズを自動で調整する機能を持っているために起きます。
- 解決方法としては、-webkit-text-size-adjust: none;というCSSを追加することで位置ずれを改善することができます。しかし、行間が大きいためにテキストが画像からはみ出てしまう場合は、テーブルを2つに分けてそれぞれの位置を修正することが必要です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
それが背景画像でしたら、背景で指定しましょう。位置が時間によって変わるのでなければ背景をcoverで置けばよいです。 tableを配置のために使用するのは禁止です。tableは表のマークアップ以外に使用すべきではありません。 位置指定は、親になるコンテナブロックに対して相対的/絶対配置で指定すると良いでしょう。 HTML要素のstyle属性で指定すると、詳細度が[1,0,0,0]となってしまって外部スタイルシートなどで調整できなくなります。CSS3のメディアクエリ(Media Queries)を使用して端末の幅に合わせてスタイルを切り替えることができなくなります。 <div class="TimeMessage"> <p>この文章は、</p> <p>サンプルです</p> </div> div.TimeMessage{width:250px;height:46px;margin:0 auto;background:url(hoge.gif);} div.TimeMessage p{font-size:14px;margin:0;line-height:20px;padding-left:20px;} ※折角、文書構造とプレゼンテーションの分離のためにスタイルシートを使うのですから、HTMLにはプレゼンテーションに関わることは一切記述したらダメです。tableが配置目的なら無論です。 こうしておけば、スタイルシートを書き換えるだけで、背景をやめることも、すべてのページの<div class="TimeMessage">のデザインを変更できます。
お礼
ご回答ありがとうございます。 ほう・・・背景にしてしまうのですか、なるほど。 時計のフレームなので背景でも問題ないです。 CSSは個人サイトを運用する上で趣味の一環として始めたばかりなので 使い方のほうもとても参考になりました! ありがとうございました。