- ベストアンサー
HTMLのリンクアンカーがおかしい???
開発中にふと気が付いたことなのですが、以下のソースをブラウザ(IE5.0)で表示すると、aaaだけ、TABLE内のアンカーの左右でもリンクするようになってしまうのですが、なぜなのでしょうか??? <html> <head></head> <body> <table border=0 cellpadding=3 width=730> <tr><td align=center><a href="help_10.asp" target="right"><h2>aaa</h2></a></td></tr> <tr><td align=center><a href="help_20.asp" target="right"><h2>bbb</h2></a></td></tr> <tr><td align=center><a href="help_35.asp" target="right"><h2>ccc</h2></a></td></tr> </table> </body> <html>
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
<TD>や<A>の中に<H2>を入れたり<A>の中に<P>を入れるのは、厳密にいえばHTMLの文法に反していますよね。もっとも、IEやNN(4.7以前)がそこまで考えてそういうエラーを起こすようになっているとは思えませんけどね。かなりいいかげんな記述でも許容してそれらしく表示してしまいますが(逆にそれだからいいかげんな記述がまかりとおっているのですが)、本来なら何が起きても不思議じゃないです。 「aaa」の行を次のようにしてみるか、スタイルシートを使ってみるのはどうでしょう。 <tr><td align=center><b><font size="5"><a href="help_10.asp" target="right">aaa</font></b></a><br></td></tr>
その他の回答 (2)
- y_oku
- ベストアンサー率62% (25/40)
不思議ですね。 NN6でも再現します。しかもbbbやcccの左右もリンクします。 NNの場合、 ◆1.「<h2>aaa</h2>」 を、同等の下の表現に置き換えたら左右のリンクはなくなりました。 ◆2.「<p><b><font size="5">aaa</font></b><p>」 でもIEは治らないです。 前後に行を空けるタグをリンクアンカーの外に出したらIEでも治りました。 ◆3.「<p><a href="help_10.asp" target="right"><b><font size="5">aaa</font></b></a><p>」 リンクアンカーの内部に段落の要素が入ってると変になるのかな。 じゃあ、と思って、以下を試したところ、 ◆4.「<h2><a href="help_10.asp" target="right">aaa</a></h2>」 IEでは最初と同じようにに表示されて、リンクも文字部分だけになりました。やった! ……しかし、NNでは前後の空白がなくなってしまう。ううう。 結局◆3で細かく書いてやるのが◆1の状態と同じ表示でリンクも正しくなるようですねえ。 理由はわかりません~。
お礼
Netscapeでもテストしていただけたのですかぁ。 ありがとうございます。これで、HTMLの組み方に問題があることが わかりました。 これからもよろしくおねがいします。
- madman
- ベストアンサー率24% (612/2465)
試して見ました、本当ですね、IEの障害でしょうか? 因みに<H2>タグを<a>タグの外にすると回避出来ました。 <tr><td align=center><h2><a href="help_10.asp" target="right">aaa</a></h2></td></tr>
お礼
ありがとうございました。 WEBでの開発には数ヶ月携わっているのですが、 HTMLすらまともにわからないにも関わらず、 他人が作成したPGの修正をしているので、余計に???でした。 作成者と相談して、回避方法を取り入れるようにします!
お礼
ありがとうございます。 HTMLの勉強ろくにしていないのに、ASPで開発しているので、 ???なタグばかりで、毎日悪戦苦闘しています。 他人が作成したPGで、すでに客先に導入されているPGなので、 文法違反だとは思っていなかったのですが、文法違反なのですね。 前に、IE5.0で発生する現象が、IE5.5では発生しないことがあったので、 てっきりブラウザのバグだと思い込んでいました。 勉強になりました。ありがとうございました。