div(または他の要素)全体をクリック可能なリンクにしたいことがあります。ここに例があります。CSS全体でdivをクリック可能にする方法
はここで、純粋なCSSを使用してそれを行うには、クロスブラウザの方法です:
HTML:
<div class="clickable">
<a href="URL_OF_LINK_TARGET"> </a>
Rest of div content goes here
</div>
CSS:
div.clickable { /* Containing div must have a position value */
position:relative;
}
div.clickable a {
position:absolute;
width:100%;
height:100%;
top:0;
left:0;
text-decoration:none; /* Makes sure the link doesn't get underlined */
z-index:10; /* raises anchor tag above everything else in div */
background-color:white; /*workaround to make clickable in IE */
opacity: 0; /*workaround to make clickable in IE */
filter: alpha(opacity=1); /*workaround to make clickable in IE */
}
まず、含むdivの位置を与えます。そのようにして、リンクに "position:absolute;"を適用すると(次の段落を参照)、それは包含divに対して相対的に位置します。
次に、リンクを完全に配置し、含まれるdivのフルサイズと深さを設定します。リンクのZインデックスは、div内の他のすべての項目の上にあることを確認します。したがって、クリックした場所に関係なく、リンクをクリックしています。
IEは当然のことながら、癖があります。この場合、IEはそのようなリンクをクリック可能にするためにバックグラウンドカラーを必要とするため、背景色(白)を与え、不透明度を0に設定し、IEの独自のフィルタプロパティを使用してIEのみの不透明度を1% 。
最後に、必要なコンテンツをdivに入れてください。 z-indexを使用してコンテンツをレイヤー化する場合は、リンクよりも上位のz-indexを指定しないようにしてください。
ニース。質問はなんですか? – bbill
何が質問ですか? Stackoverflowはフォーラムではない、それは解決策を投稿するのではなく、質問することです。 – MOTIVECODEX
質問と回答の両方を投稿したい場合は、問題ありませんが、それを行う方法は質問を質問として投稿し、回答を回答として投稿することです。自分の答えを正しいものとして受け入れることができます。 FAQには、「自分のプログラミングの質問に尋ねたり答えることはまったくうまくいきます」と述べています(しかし、あなたは質問と答えとして書式を設定することになっています)。 – RichieHindle