0

次のようなHTMLのブロックがあります。

<div id="header">
    <h1>title</h1>
    <h2>subtitle</h2>
</div>

私はCSS手法を使用して、すべてのテキストを非表示にし、画像に置き換えています。しかし、ブロック全体をホームページにリンクしたいと思います。<a>標準に準拠していないため、ラップすることはできません。では、どうすればよいですか?


私の解決策; 町の新人に触発された

<div id="header">   
    <h1>title</h1>
    <h2>subtitle</h2>
    <a href="index.html">Home</a>
</div>

#header {
    text-indent: -9999px;
    width: 384px;
    height: 76px;
    background: transparent url(../images/header.png) no-repeat;
    margin: 10px;
    position: relative;
}

#header a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
4

2 に答える 2

1

リンク要素をヘッダーdivの外側に配置し、絶対位置を使用してそれらをカバーするようにします。また、z-indexを追加して、リンクがユーザー入力を確実に受け取るようにします。

<style>
    a.header
    {
        position: absolute;
        display: block;
        width: 100%;
        height: 100px;
        z-index: 1;
    }
</style>

<div id="header">
        <h1>title</h1>
        <h2>subtitle</h2>
</div>

<a href="homepage" class="header"></a>
于 2009-09-19T21:21:45.073 に答える
0

ホームページにリンクされているすべてのものの上に完全に透明な画像をオーバーレイしますか?

于 2009-09-19T21:19:12.517 に答える