3

我就是想不通。下面的链接在除 IE8 之外的所有浏览器中都可以正常工作。如果单击 IE8 中的元素,则该按钮会消失。如果您再次单击它重新出现的位置。但是没有多少点击实际上会引导您到 href 位置。谁能向我解释为什么会这样?我已经用尽了所有的想法,但它仍然不起作用。非常感谢您的所有想法!

html...

<div style="padding:0px 0px 30px 0px; clear: both;">
 <div style="width: 50%; display: block; float: left;">
  <a href="../index/features" class="big_button">Learn More</a>
 </div>
 <div style="width: 50%; display: block; float: left;">
  <a href="../index/signup" class="big_button">Get Started</a>
 </div>
</div>

...和样式表...

 .big_button {
-moz-box-shadow: inset 0px 1px 0px 0px #bbdaf7;
-webkit-box-shadow: inset 0px 1px 0px 0px #bbdaf7;
box-shadow: inset 0px 1px 0px 0px #bbdaf7;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #79bbff
    ), color-stop(1, #378de5) );
background: -moz-linear-gradient(center top, #79bbff 5%, #378de5 100%);
filter: progid : DXImageTransform.Microsoft.gradient (           
       startColorstr = '#79bbff', endColorstr = '#378de5' );
background-color: #79bbff;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
border-radius: 6px;
border: 1px solid #84bbf3;
display: inline-block;
color: #ffffff;
font-family: Arial;
font-size: 18px;
font-weight: bold;
padding: 15px 45px;
text-decoration: none;
margin-left: 130px;
}

.big_button:hover {
 background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #378de5), color-stop(1, #79bbff) );
 background: -moz-linear-gradient(center top, #378de5 5%, #79bbff 100%);
 filter: progid : DXImageTransform.Microsoft.gradient (startColorstr = '#378de5', endColorstr = '#79bbff' );
 background-color: #378de5;
}

.big_button:active {
 position: relative;
 top: 1px;
}
4

2 回答 2

1

这是因为您的CSS中的“过滤器:”部分,将其删除,然后它将起作用...

于 2013-11-07T09:18:26.567 回答
0

我刚刚想通了。IE8 似乎在 css 中存在 :active 的问题。因此,样式表的以下部分引起了问题:

.big_button:active {
  position: relative;
  top: 1px;
}

当前的修复是排除按钮的 css 的 ':active' 部分,因为它不是必需的。如果有人对 IE8 为何存在 :active 问题有任何进一步的信息,我很想知道。

于 2012-07-28T13:55:38.693 回答