ホームページで時間に応じて2行のテキストを時計画像の上に表示したいのですが
以下のCSSを使った方法ではPCやアンドロイドではズレないで表示されます。
ただし親のiPhoneを借りて見ると
何故か文字位置が下の方にずれてしまい画像から文字がはみ出してしまいます。
ブラウザは標準ではいってるやつ(Safari?)です。
<div style="position: relative;">
<img src="hoge.jpg" width=250 height=46>
<div style="position:absolute; top:6px; left:20px;">
<table border=0 cellspacing=0 cellpadding=0>
<tr><td>この文章は</td></tr>
<tr><td>サンプルですよ</td></tr>
</table>
</div>
</div>
どうもiPhoneのSafariはフォントサイズを自動で調整する機能があるそうで
それを解除するために以下のCSSを追加してみました。
-webkit-text-size-adjust: none;
このCSSを追加するとフォントサイズは変えていなくても表示は小さくなり
位置ずれはマシにはなりました。
が、それでも行間が大きいためか画像からははみ出しています。
テーブル部分を2個に分離してそれぞれ位置を修正すれば、と思ったのですが
それだとSafari以外は詰まって表示されてしまいますよね・・・シクシク。
他のブラウザならともかくiPhoneの標準ブラウザなので何とか直したいです。
これを修正できる方法をご存知の方はおられますでしょうか?
画像の上に文字を表示できるのでしたら、
上記のCSSとはまったく別のものになっても構いません。
よろしくおねがいします。
No.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は個人サイトを運用する上で趣味の一環として始めたばかりなので
使い方のほうもとても参考になりました!
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript 画像の表示位置 3 2022/12/23 08:25
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像とその下にあるテキストの...
-
【至急お助け!】チェックボッ...
-
画像上に文字を表示するとiPhon...
-
background-sizeの背景で最小値...
-
背景画像が半分しか表示されない
-
background-sizeでcontainする...
-
グローバルナビ部分の背景を画...
-
htmlタグで画像を背景に敷き詰...
-
background-repeat CSS で切れ...
-
submitボタンの上に重ねた画像...
-
画像の上にテキスト配置で、拡...
-
画像を複数横に並べ、かつそれ...
-
「HTML(縦スクロールバー付)...
-
フッターの背景に色を指定した...
-
gif画像でたまに背景がグレーに...
-
htmlかcssで背景の白い枠をなく...
-
iframe内をクリックさせない方...
-
同じ画像 複数回使用
-
LightBoxの矢印の出し方
-
コーディング中、右側に謎の余...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<hr>の縦バージョンはありますか?
-
画像の上にテキスト配置で、拡...
-
lightbox2で画像を天地左右中央...
-
background-sizeでcontainする...
-
【Webサイト】画像が小さく表示...
-
background-sizeの背景で最小値...
-
【至急お助け!】チェックボッ...
-
画像とその下にあるテキストの...
-
background-repeat CSS で切れ...
-
大至急。webのシングルページを...
-
htmlかcssで背景の白い枠をなく...
-
IMGタグで画像の繰り返し使用は…
-
画像上に文字を表示するとiPhon...
-
同じ画像 複数回使用
-
CSSで背景画像をランダムに表示...
-
画面サイズ変更時のレイアウト...
-
要素の幅をいろんな写真の幅に...
-
Chat GTPで、12月のカレンダー...
-
submitボタンの上に重ねた画像...
-
LightBoxの矢印の出し方
おすすめ情報