【问题标题】:HTML/CSS: link not clickableHTML/CSS:链接不可点击
【发布时间】:2017-10-20 19:50:40
【问题描述】:

这无疑是一个愚蠢的错误,但我要疯了才能找到它。在下面的日历代码中,如果有事件的链接以及今天的链接是不可点击的。

请注意,我已将 www.google.com 替换为超链接。在实际应用中,它指向日历的每日视图。

如果有人能发现错误,将不胜感激。谢谢。

2、3、4 和 7 的链接有效,但 5、6 和 8 的链接无效。

jsfiddle 是here

这里的代码与小提琴中的代码相同:

CSS:

div.event {
    position:relative; 
    vertical-aligh:top;
    z-index:3; 
    top:25px;
    text-width: 70px;
}
a.event {
    position:relative; 
    vertical-align:top;
    z-index:3; 
//  top:-15px;
    text-width: 70px;
}
a.day-number  {
    vertical-align:top; 
    background:#999; 
    z-index:2; 
    top:0px;    
    padding:4px; 
    color:#fff; 
    font-weight:bold; 
    width:18px; 
    text-align:center;
    float:right;
}
a.theday-number  {
    vertical-align:top; 
    background:#999; 
    z-index:2; 
    top:0px;    
    padding:4px; 
    color:#fff; 
    font-weight:bold; 
    width:18px; 
    text-align:center;
    float:right;
    background-color:red; 
}

HTML:

<table>
    <tr class="calendar-row"><td class="calendar-day"><span style="position:relative;height:400px;width:70px;"><a href="http://www.google.com" class="day-number">2</a><p>&nbsp;</p><p>&nbsp;</p></span></td>
        <td class="calendar-day"><span style="position:relative;height:400px;width:70px;"><a href="http://www.google.com" class="day-number">3</a><p>&nbsp;</p><p>&nbsp;</p></span></td>
        <td class="calendar-day"><span style="position:relative;height:400px;width:70px;"><a href="http://www.google.com" class="day-number">4</a><p>&nbsp;</p><p>&nbsp;</p></span></td>
        <td class="calendar-day"><span style="position:relative;height:400px;width:70px;"><a href="http://www.google.com" class="day-number">5</a><div class="event">6:00 PM<br><a href="eventdetail.php?id=1438">drinks</a></div></span></td>
            <td class="calendar-day"><span style="position:relative;height:400px;width:70px;"><a href="http://www.google.com" class="theday-number">6</a><div class="event"><a href="eventdetail.php?id=1441">Test</a></div></span></td>
            <td class="calendar-day"><span style="position:relative;height:400px;width:70px;"><a href="http://www.google.com" class="day-number">7</a><p>&nbsp;</p><p>&nbsp;</p></span></td>
            <td class="calendar-day"><span style="position:relative;height:400px;width:70px;"><a href="http://www.google.com" class="day-number">8</a><div class="event">6:00 PM<br><a href="eventdetail.php?id=1419">party</a></div></span></td>
</tr>
        </table>

【问题讨论】:

  • 由于某种原因,如果您从内联样式中删除 position: relative;,它们似乎变得可点击
  • 去掉SPAN标签内的DIV,数字5现在可以点击了。
  • 你的css代码也有一些错误
  • 跨度内的 div 正在产生问题..

标签: html css


【解决方案1】:

当使用position:absolute; 和链接在一起时,z-index 存在问题。为了使链接工作,添加一个高 z-index 值, 例如,

z-index:9999999;

【讨论】:

    【解决方案2】:

    您需要将&lt;p&gt;&lt;div&gt; 标签移出&lt;span&gt;

    &lt;p&gt;&lt;div&gt; 是块级元素,&lt;span&gt; 是内联元素,内联元素内不能有块元素。

    【讨论】:

      【解决方案3】:

      在 span 中使用其他 html 元素代替 div。看来这就是问题所在。如果您删除这些 div,则元素是可点击的..

      【讨论】:

        【解决方案4】:

        在您的 td 日历日内向您的跨度添加一个显示块,它会起作用。

        【讨论】:

          【解决方案5】:

          如果您删除放置在&lt;td&gt;&lt;/td&gt; 中的&lt;span&gt;&lt;/span&gt; 标签,我发现这些链接是可点击的。我建议您在 &lt;td&gt; 中添加样式,而不是使用 &lt;span&gt;

          试试看。它可能会起作用:)

          【讨论】:

            【解决方案6】:

            据我所知,有些元素相互重叠。部分问题是您正在为内联元素(跨度)设置宽度。

            在 stackOverflow 上讨论过:

            CSS - width not honored on span tag

            我在 span 标签中添加了 display: inline-block 属性,并在此处添加了一些背景颜色以作为对比:

            <span style="display: inline-block;position:relative;height:400px;width:70px;">
            

            http://jsfiddle.net/6YRRF/16/

            您的所有链接现在似乎都可以正常工作了。

            希望这会有所帮助!

            【讨论】:

              【解决方案7】:

              您可以删除&lt;p&gt; 标签或将css(display: inline-block) 提供给&lt;p&gt; 标签。

              【讨论】:

                【解决方案8】:

                请删除 td 中的 span 包装。是的!更正你的 CSS。

                <style>
                    div.event {
                    position:relative; 
                    vertical-align:top;
                    z-index:3; 
                    top:25px;
                    width: 70px;
                }
                a.event {
                    position:relative; 
                    vertical-align:top;
                    z-index:3; 
                //  top:-15px;
                    width: 70px;
                }
                a.day-number  {
                    vertical-align:top; 
                    background:#999; 
                    z-index:2; 
                    top:0px;    
                    padding:4px; 
                    color:#fff; 
                    font-weight:bold; 
                    width:18px; 
                    text-align:center;
                    float:right;
                }
                a.theday-number  {
                    vertical-align:top; 
                    background:#999; 
                    z-index:2; 
                    top:0px;    
                    padding:4px; 
                    color:#fff; 
                    font-weight:bold; 
                    width:18px; 
                    text-align:center;
                    float:right;
                    background-color:red; 
                }
                
                </style>
                

                【讨论】:

                  猜你喜欢
                  • 2016-03-27
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2017-10-06
                  • 2020-12-07
                  • 2011-06-30
                  • 2013-08-21
                  • 2019-06-22
                  相关资源
                  最近更新 更多