【问题标题】:Why is the buttons only clickable on the top half?为什么按钮只能在上半部分点击?
【发布时间】:2015-11-15 11:44:43
【问题描述】:

你可以去我这里的测试页面:https://socialstamp.me.uk/new/testpage.php

你左边的按钮(平衡状态),只有上半部分可以点击,下半部分不起作用/点击。我检查了 CSS 样式文件,但找不到任何东西,我尝试了很多解决方案,但没有任何效果。

按钮代码:

             <ul>
             <li id="l2"><a href="dashboard.php"></a></li>
             <li id="l3"><a href="trackingPanel.php"></a></li>
             <li id="l4"><a href="topup.php"></a></li>
             <li id="l5"><a href="contactform.php"></a></li>
             <li id="l6"><a href="accountSettings.php"></a></li>
             <li id="l7"><a href="apiHelp.php"></a></li>
             <li id="l8"><a href="referrals.php"></a></li>  
             </ul>

CSS:

#dashContainer .col-md-2 li {
display:block; 
height: 40px;
margin-bottom: 1px;
margin-left: 15px;
margin-right: 0;
}

#l2 {
   background-image: url('../img/menu/btn3.jpg');
}
#l2:hover {

background-image: url('../img/menu/btn3h.jpg');
}
#l2:active {

background-image: url('../img/menu/btn3h.jpg');
}

And so on for several buttons...

【问题讨论】:

    标签: html css


    【解决方案1】:

    问题是&lt;li&gt; 标签的高度为 41px,但&lt;a&gt; 标签除了字体大小外没有任何高度。默认情况下&lt;a&gt; 标签显示inline,因此您的可点击区域只占用&lt;a&gt; 标签字体大小的空间。修复它的方法太多了。

    第一个选项:(原始答案)

    通过将高度和宽度赋予&lt;a&gt; 标签作为容器:

     #dashContainer .col-md-2 li a {
        display:block;
        height:100%;
        width:100%;
     }
    

    第二个选项:

    通过调整&lt;a&gt; 填充。无需为li 标签指定高度如果它对 UI 不重要

    #dashContainer .col-md-2 li {
       display:block; 
       /* height: 40px; */
       margin-bottom: 1px;
       margin-left: 15px;
       margin-right: 0;
    }
    #dashContainer .col-md-2 li a {
       padding:20px 0px;
    }
    

    第三个选项:

    通过为&lt;a&gt; 标签指定高度。

    #dashContainer .col-md-2 li {
       display:block; 
       /* height: 40px; */
       margin-bottom: 1px;
       margin-left: 15px;
       margin-right: 0;
    }
    #dashContainer .col-md-2 li a {
       display:block;
       height:40px;
       line-height:40px; // for text vertical align
       width:100%;
    }
    

    【讨论】:

    【解决方案2】:

    我很惊讶这些按钮能正常工作。当您定义 &lt;li&gt; 的大小时,没有定义 &lt;a&gt; 的任何内容,因此理论上它的大小应该为 0,因此不可点击。

    确保将宽度和高度应用于链接本身!

    【讨论】:

    • 某处有一个 padding-top: 11px 并且 &lt;a&gt; 被塞进去,所以它在 &lt;li&gt; 的顶部有 11px 高。
    • @blm 是的,有,我可以在 style.css 中看到它 - 我要编辑/更改什么?
    • 使用 padding 调整标签大小可能是一个非常好的方法,或者只是为锚点添加宽度和高度。无论你的船漂浮什么。
    • @Tanner_Gram 成功了,谢谢!我添加了高度/宽度/显示:块 - 但请再次查看该页面。现在顶部按钮(购买服务)似乎在重复。
    【解决方案3】:

    如果您在链接中添加一个 41px 的 CSS 高度,则可以解决此问题。

    【讨论】:

    • 请考虑编辑您的帖子,以添加更多关于您的代码的作用以及它为何能解决问题的说明。一个大部分只包含代码的答案(即使它正在工作)通常不会帮助 OP 理解他们的问题。如果只是猜测,还建议您不要发布答案。一个好的答案将有一个合理的理由说明它为什么可以解决 OP 的问题。
    猜你喜欢
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多