![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
明けましておめでとうございます。
長年の疑問をご質問します。
<h1>のフォントに背景色をつけ、更にその下にアンダーラインをつけております。
IEで作成したのでIE8では問題はないのですが、Firefoxでは乱れて隙間が出来てしまいます。
この解決法をお教え頂けないでしょうか。
添付画像は編集しましたが、上がFirefox、下がIE8です。
記述は<body>~</body>の該当部分を編集して下に記します。
緑色のラインをpositionで20ピクセル上げた記述をFirefoxでは無視しているようです。
<h1 style="width:80%; color:#000000; background-color:#b3d7e3; font-size:56px; line-height:80px; letter-spacing:-5px;"> タイトル</h1><span style="position:relative; top:-20px;"><img width="80%" height="22" alt="underline" src="line.gif">
![「IEとFirefoxの見え方の違いを揃え」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/7/1213483_5497db0388387/M.jpg)
No.5ベストアンサー
- 回答日時:
No.3です。
>しかし、文法的に正確な言葉と、意味は相手に伝わるけど崩れている言葉との関係、
>時代とともにどんどん軸が移ろう基準など、一般言語と何も変わりませんねぇ。
ちょっと誤解があるような??HTMLは最初に読むのはお馬鹿なコンピューターなのです。この場合画像とh1要素の間にスペースがとられるのは、
「行内要素がbody直下にはない」
よってこれは
<h1>タイトル</h1>
<p>
<span ><img></span>
</p>
であるはずだとブラウザが解釈して描画を試みるからです。ブラウザに期待されているまっとうな処理です。(IEなどはdivと解釈するのかも?)
HTMLが正しく書かれていないと、このようにブラウザに大きな負担をかけることになり、合わせて文書構造がコンピューターに理解できないため検索エンジンも内容を理解できなくなります。またブラウザによる解釈の差で表示が全く異なったりもします。
HTMLは、3.2までの反省から原点に戻ってHTMLは文書構造のみを記述して、スタイルシートでプレゼンテーションを担うように大きく舵を切りなおしました。この流れは今後も変わらないでしょう。
言い換えると、文法はお馬鹿なコンピューターと著者の負担を軽くするためだということです。
★このh1--見出し(レベル1)の下に単色のバーを引きたいだけでしたら、h1のborderで指定するほうが良いでしょう。
h1{padding-bottom:2px;border:none;border-bottom:green 20px solid;}
とか・・
この回答への補足
お正月早々にお時間を取らせて申し訳ありません。
直ちに了解出来るほどの知識を持ち合わせていませんが、
私のタグの基本的な間違いは
「<body><ブロックレベル要素><インライン要素></インライン要素></ブロックレベル要素></body>はOKだけども<body><インライン要素></インライン要素></body>と書いてはいけない」という約束事を犯したという意味なのでしょうか。
ご紹介のサイトを読んでも術語が具体的に何を意味するかがしっかり解らないままそれがたくさん並んでいる文章を読み進むのは時間が掛かります。いきなり全部勉強は出来なくても問題にぶち当たった都度知識を蓄えて行きます。
No.3
- 回答日時:
<h1 style="width:80%; color:#000000; background-color:#b3d7e3; font-size:56px; line-height:80px; letter-spacing:-5px;"> タイトル</h1><span style="position:relative; top:-20px;"><img width="80%" height="22" alt="underline" src="line.gif">
このHTMLは少しおかしい。<body>直下に<span>や<img>のインライン要素はおけないです。
【引用】____________ここから
<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[The global structure of an HTML document (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より
body要素内には、スクリプト,del,insを除きブロック要素しか置けない!!
また、デザインのためだけに画像を置かない!!たとえ置いたとしてもaltは"--------------"とでもするでしょうね。(画像を読み込まないときに何を表示するかですから。
よってHTMLは
<h1>タイトル</h1>
だけでよいです。
<html>
<head>
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css">
<!--
h1{
width:80%;margin-right:20%;
color:black;
background:url(line.gif) repeat-x bottom #b3d7e3;text-indent:0.5em;
font-size:56px;letter-spacing:-5px;
height:80px;}
-->
</style>
</head>
<body>
<h1>タイトル</h1>
<p>ここから本文</p>
となる。HTMLはスタイルシートがなくても、テキストブラウザや検索エンジンで意味が分かるように率直に書き、ビジュアルなブラウザで、それなりに表示させるように書くことが基本です。私は、Lynxで必ず確認しています。
http://lynx-win32-pata.sourceforge.jp/index-ja.h …
丁寧な回答有難うございます。
>このHTMLは少しおかしい。
お恥ずかしい、でもこれは題意部分の要約で、実際には外部CSSを多用し、
HTML文書は少ない記述で済むようには心がけています。
示唆の多い回答ですね。hタグだけでアンダラインも表示、すっきりしています。
spanの使い方ほかご質問以外に関しても参考にさせて頂きます。
しかし、文法的に正確な言葉と、意味は相手に伝わるけど崩れている言葉との関係、
時代とともにどんどん軸が移ろう基準など、一般言語と何も変わりませんねぇ。
有難うございました。
No.2
- 回答日時:
ブラウザ毎に異なるタグに与えられた標準のマージンをクリアしたら如何でしょうか?
なお、spanはインラインタグなので、レイアウトにはブロックタグのpなどを使います。
ブロックを隙間無くくっつけるには、少なくとも向き合う側のmarginを0に指定しておきます。
<h1 style="width:80%; color:#000000; background-color:#b3d7e3; font-size:56px; line-height:80px; letter-spacing:-5px; margin:0;"> タイトル</h1><p style="margin:0; padding:0;"><img width="80%" height="22" alt="underline" src="line.gif"></p>
ご回答有難うございます。
>spanはインラインタグなので
どうもspanを多用する癖があります、表見上破綻がなければ深くは追求しないという安易なアプローチ。
margin:0;、有難うございます。それで出来ました。
アンダラインはgifで作って下に加えると言う私のやり方の方向でもって救って頂きました。でもスマートな記述はno.1さんだと反省したのでそちらを使わせて頂きますが、この考え方は今後役に立つことがあろうかと思います。
No.1
- 回答日時:
<h1 style="width:80%; color:#000000; background-color:#b3d7e3; font-size:56px; line-height:80px; letter-spacing:-5px;border-bottom:solid #86b300 22px;"> タイトル</h1>
ではどうでしょう?
何を基準に20ピクセル上げたのかは知りませんが、Firefoxが乱れているわけではないと思いますが……
長年って、cssの基本を学ばれることをお勧めします。
早速のレス有難うございます。
border-bottomですか、記述は短くてすっきりしていますね。有難うございました。勉強になりました。
早速全該当記述を書き換えます。
製作した当初はIEさえクリアしておればと十分検証せず、後から気付いてもどうしてよいか解らずあがいておりました。
>長年って、cssの基本を学ばれることをお勧めします。
耳に痛いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS htmltとcssの連携をして画像縮小について 1 2022/11/15 20:32
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
画像イメージの上下左右、欲し...
-
IEとFirefoxの見え方の違いを揃...
-
CSSでボックスのheightが0になる
-
モーダルダイアログでのボタン...
-
Media Queries 4 で 非推奨とな...
-
【CSS】ヘッダーの高さが不明の...
-
ライトボックスでスクロールバー
-
入力フォームとセレクトボック...
-
CSSで画像を同じ位置に重なり合...
-
HTML/CSS初心者です。 レスポン...
-
ネガティブマージン
-
IEとFireFoxでの指定位置のズレ...
-
日本地図(白地図的)にリンク...
-
css&html テキストの前に三角...
-
div内に外部のurlを表示させたい
-
font-sizeが効かない
-
スクロールボックスを中央に配...
-
HTMLのiframeの入れ子について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
画像イメージの上下左右、欲し...
-
css初心者 フレックスボックス...
-
CSSでボックスのheightが0になる
-
CSS、width100%でもできる余白
-
CSS:animation開始位置の設定
-
スクロールボックスを中央に配...
-
form input テキストを上下中央...
-
表示倍率を変えるとレイアウト...
-
W3Cのソースコードの検証サービ...
-
<div>と<div>の間の10px程の...
-
CSSで背景画像を一番下にもって...
-
CSSがなぜかfont-sizeだけ効か...
-
table周辺の隙間をなくしたい。
-
footer を横幅いっぱいに広げる...
-
【CSS】ヘッダーの高さが不明の...
-
CSS3で角丸写真にシャドーを付...
-
定義リストに下線をつけたいと...
-
Media Queries 4 で 非推奨とな...
おすすめ情報