十分に単純であるべき質問がありますが、対処するのは非常にイライラします。まず第一に、私はブラウザ間の互換性を最大限に高めようとしており、できれば HTML5 に準拠するように努めていることを述べたいと思います。
私がやろうとしているのは、その中に img と h3 タグの両方を持つブロック領域リンクを作成することです。
少し前の私の最初の試みは、次のことを行うことでした:
<div class="link-block">
<a href="#">
<img>
<h3>Title</h3>
</a>
</div>
(私の理解では) HTML5 仕様に従ってアンカー タグにヘッダー タグを含めることは有効ですが、古いバージョンの Internet Explorer を扱う場合、リンクが常にクリック可能であるとは限らないという奇妙な問題が発生しました。(ただし、この問題は、サイトの構造がわずかに異なっていたことが原因である可能性があります)
一方で、より後方互換性のある方法で同じことを達成するために、少し異なるアイデアを考えました。それは、次のようなことでした。
<div class="link-block">
<a href="#"></a>
<img>
<h3>Title</h3>
</div>
次の CSS マークアップを使用します。
.link-block{
position: relative;
}
.link-block a{
width: 100%; height: 100%; display: block;
position: absolute; top: 0; left: 0;
}
これは、私が試したすべてのブラウザー (Opera、Firefox、Chrome、Safari) で美しく動作します -- Internet Explorer を除きます。私は IE10 で試してみましたが、その領域にカーソルを合わせるたびに、クリックできる領域は画像または h3 タグで覆われていない領域だけであると判断されました。
上記の 2 番目の方法は技術的に有効ではありませんか? IE はコンテンツを適切に表示する際に多くの問題を抱えている傾向があることは知っていますが、IE10 では最終的に多くの問題が修正されるはずだと思いました。
私がやろうとしていることを達成するための適切なアプローチは何ですか?
ありがとう!
<a>
編集:タグの z-index<h3>
と and<img>
タグをいじったことにも注意してください。それでもIEに同じ問題が発生します。