我设法将一个PNG叠加层显示在asp:超链接图像上,但现在这意味着超链接无法点击,有没有办法解决这个问题?
<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;
}
答案 0 :(得分:2)
我不完全确定你想要实现的是什么,如果你想要的是一个你可以点击的图像,你可以使用这个链接:
<asp:HyperLink ID="HyperLink1" runat="server" ImageUrl="~/Images/MyPic.png" NavigateUrl="~/MyPage.aspx">HyperLink</asp:HyperLink>
答案 1 :(得分:0)
我不知道“asp:hyperLink”是如何工作的,但你试过给它一个大于叠加的z索引吗?链接可能需要位置:相对于它工作。
答案 2 :(得分:0)
感谢您的回复。超链接从数据库获取图像,我想在顶部覆盖图片框架。我使用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将被提供给超链接控件。
现在,当您加载页面时,每个产品都有一个随机框架,该链接会将您带到相关的产品页面。
答案 3 :(得分:0)
在asp:超链接
中包裹您的叠加层等所有内容<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,但这应该解决你的覆盖问题。