PNG覆盖使asp超链接无法点击

时间:2009-10-30 17:18:49

标签: asp.net css png overlay

我设法将一个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;
}

4 个答案:

答案 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,但这应该解决你的覆盖问题。