PNGオーバーレイによりASPハイパーリンクがクリック不可になります
質問
asp:hyperlink画像の上にPNGオーバーレイを表示することができましたが、これはハイパーリンクがクリック不可であることを意味します。これを回避する方法はありますか?
<div class="ProductItem">
<div class="picture">
<asp:HyperLink ID="hlImageLink" runat="server" />
<div class="overlay"></div>
</div>
</div>
.HomePageProductGrid .ProductItem
{
text-align: center;
margin: 10px 10px 10px 10px;
width: 310px;
height: 410px;
background-repeat:no-repeat;
position:relative;
}
.HomePageProductGrid .ProductItem .picture
{
text-align: center;
position:relative;
padding-top:43px;
}
.HomePageProductGrid .overlay
{
background: url(images/frame1.png) no-repeat;
overflow: hidden;
position: absolute;
top: 0;
left: 0;
width: 310px;
height: 410px;
}
解決 3
返信いただきありがとうございます。ハイパーリンクはデータベースから画像を取得しているので、写真フレームを上に重ねたいと思いました。私はCSSと絶対配置を使用してPNG画像を配置していましたが、PNG画像が一番上になるとすぐにリンクを失いました。コードを次のように変更しました。
<div class="ProductItem">
<div class="picture">
<asp:Image ID="imgProduct" runat="server" />
<asp:HyperLink ID="testHyperlink" CssClass="pictureLink" runat="server" >
<asp:Panel ID="productPanel" runat="server" ></asp:Panel>
</asp:HyperLink>
</div>
</div>
画像コントロールはデータベースから画像を取得し、パネルコントロールの周りにハイパーリンクコントロールをラップしました。パネルコントロールは、選択した4つのフレームからランダムな画像フレーム画像を取得します。データベースイメージのURLは、ハイパーリンクコントロールに送られます。
ページをロードすると、各製品にはランダムなフレームがあり、リンクをクリックすると関連する製品ページに移動します。
他のヒント
あなたが何を達成しようとしているのか完全にはわかりません。あなたが望むのが画像であれば、これを使用できるリンクのようにクリックできます:
<asp:HyperLink ID="HyperLink1" runat="server" ImageUrl="~/Images/MyPic.png" NavigateUrl="~/MyPage.aspx">HyperLink</asp:HyperLink>
<!> quot; asp:hyperLink <!> quot;動作しますが、オーバーレイより大きいz-indexを指定しようとしましたか?リンクが機能するには、position:relativeが必要になる場合があります。
asp:hyperlinkでオーバーレイを含むすべてをラップ
<div class="ProductItem">
<asp:HyperLink ID="testHyperlink" CssClass="pictureLink" runat="server" >
<div class="picture">
<asp:Image ID="imgProduct" runat="server" />
<asp:Panel ID="productPanel" runat="server" ></asp:Panel>
</div>
</asp:HyperLink>
</div>
CSSを少し変更する必要がありますが、これでオーバーレイの問題が解決するはずです。