【问题标题】:Clicking Button on Top of Text Won't Go to URL单击文本顶部的按钮不会转到 URL
【发布时间】:2013-01-31 10:00:57
【问题描述】:

因此,由于某种原因,当用户直接单击按钮顶部的文本时,我的按钮不会转到定义的 URL。。 (即:对于我的按钮,“测试文本”)

当你点击按钮时,它总是按下去,但是当你点击文本区域之外时,它只会转到链接的 URL。

我尝试使用<div> 代替<a>,但也没有运气。

你可以在http://198.154.213.30/~foster2/index.php/news看到这个按钮

下面是我的按钮的代码:

<a class="button3D" href="http://www.google.com" target="_blank">Test Text</a>

<style>
.button3D {
    position: relative;
    display: block;
    width: 200px;
    height: 50px;
    top: 50%;
    left: 50%;
    margin-top: -25px;
    margin-left: -100px;
    background: #650404;
    font-family: sans-serif;
    text-align: center;
    line-height: 50px;
    font-size: 24px;
    color: #fff;
    text-shadow: 0 -1px rgba(0, 0, 0, 0.5);
    border: 1px solid #4e0202;
    -webkit-box-shadow: 0 5px 15px -5px #222;
    -moz-box-shadow: 0 5px 15px -5px #222;
    box-shadow: 0 5px 15px -5px #222;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    cursor: pointer;
}
.button3D:before {
    content: "";
    position: absolute;
    top: -9px;
    left: 0px;
    width: 178px;
    height: 0px;
    border: 11px solid transparent;
    border-bottom: 8px solid #650404;
    border-top: 0;
}
.button3D:after {
    content: "";
    color: #c56338;
    line-height: 180px;
    font-size: 16px;
    position: absolute;
    top: -8px;
    left: 1px;
    width: 178px;
    height: 0px;
    border: 10px solid transparent;
    border-bottom: 7px solid #891414;
    border-top: 0;
}


.button3D:active {
    width: 158px;
    height: 41px;
    top: 50%;
    left: 50%;
    margin-top: -33px;
    margin-left: -79px;
    line-height: 36px;
    font-size: 22px;
    color: #eee;
    text-shadow: 0 -1px rgba(0, 0, 0, 0.5);
    border: 1px solid #3c0101;
    background: #4e0202;
    border-top: 0;
    -webkit-box-shadow: 0 0 0 0;
    -moz-box-shadow: 0 0 0 0;
    box-shadow: 0 0 0 0;
}
.button3D:active:before {
    top: 0;
    height: 42px;
    width: 158px;
    left: -12px;
    padding: 0 1px;
    border: 11px solid #b3b294;
    border-bottom: 8px solid #deddad;
    border-top: 0;
}
.button3D:active:after {
    content: "";
    top: 0;
    height: 50px;
    width: 182px;
    left: -13px;
    border: 0;
    -webkit-box-shadow: 0 15px 25px -15px rgba(0,0,0,0.5) inset;
    -moz-box-shadow: 0 15px 25px -15px rgba(0,0,0,0.5) inset;
    box-shadow: 0 15px 25px -15px rgba(0,0,0,0.5) inset;
}
</style>

感谢您为我提供的关于如何解决此问题的任何意见/见解。

【问题讨论】:

  • 通过删除伪元素的所有属性,链接就可以工作了。也许问题出在某个地方......我不确定你是否可以像你在这里一样向以前的伪元素添加另一个伪元素 - > .button3D:active::before。也可以尝试将 css 更改为 a.button3D。只是一些想法......
  • 感谢您的反馈,但这些建议我没有成功。

标签: html css url button


【解决方案1】:

我认为这是因为链接在移动。当您单击并按住链接时,您可以将链接拖出,它不会导航。似乎移动链接正在触发此功能。我认为您唯一能做的就是使用 JavaScript onmousedown 进行导航。

【讨论】:

    猜你喜欢
    • 2018-09-13
    • 2021-11-11
    • 1970-01-01
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 2021-05-04
    相关资源
    最近更新 更多