• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【CSS】CSSでh1タグに背景を指定し、画像の中の任意の場所に文字を書き込みたいのですが、うまくいきません)

CSSでh1タグに背景を指定し、画像の中の任意の場所に文字を書き込みたいのですが、うまくいきません

このQ&Aのポイント
  • 質問内容: CSSでH1タグに背景を指定し、画像の中の任意の場所に文字を書き込みたいのですが、上下に余計な空白ができてしまい困っています。
  • 狙い: 高さ32pxの3枚の画像ABCを縦につなぎ合わせた、高さ96pxの一枚の画像(=***)をCSSでH1の背景にし、H1の内容に応じてHTML上でclassを変えて、背景をAにしたりBにしたり変えられるようにする。
  • 現状: IE7ではH1の下に余計な空白ができ、FireFox3ではH1の上下に余計な空白ができてしまいます。修正方法や代替案があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#83877
noname#83877
回答No.1

h1の中にdivは入りません。 margin:0; padding:0; はdivではデフォルトの値になっていたはずです。h1に指定してみてください。

HeyJudy
質問者

お礼

ありがとうございます。 h1はインライン要素だったんですね しかし、 h1{padding-top:6px;height:32px;}を追加して <div class="b"> <!--←A,B,Cに画像を切り替えます。//--> <h1>助けてください( T_T)</h1> </div> とすると FireFoxとIEで解釈がずれてしまいます IEではpaddingがheightに含まれますが、 FireFoxではpaddingがheightに含まれないので、下に6pxはみ出て38pxになってしまいます。 どうすればよいのでしょうか。打開策を教えてくださると助かります。

HeyJudy
質問者

補足

下の返事の補足です。 H1はブロック要素の特殊な形で、中にブロック要素は含めないタイプなんですね。失礼しました。 とりあえずの妥協策として、画像を12px長くして、あらかじめ画像の間に6pxのスペースを入れることで、一応FireFoxでもIEに近い形で表示させました。 結局FireFoxで6px長く表示されてしまうため、根本的な解決にはなってません。 どうすればよいのでしょうか・・・。