CSS按钮转换停止播放

时间:2016-01-10 11:59:26

标签: html css css3

我的CSS转换突然停止,如下图所示

enter image description here

这只发生在Chrome上,在Firefox上一切正常,除了我无法测试。

有趣的是,转换不仅无缘无故,而且一旦我右键单击此类的按钮,它就会在浏览会话的其余部分正常工作。

以下图片是工作转换结束时按钮的样子:

enter image description here

HTML和CSS代码

.main-link{
  position: relative;
  display: block;
  overflow: hidden;
  width: 200px;
  height: auto;
  color: #FFF;
  text-align: center;
  text-decoration: none;
  border: 2px solid #53c1f8;
}
.main-link::after {
  position: absolute;
  overflow: none;
  content: "";
  background: #53c1f8;
  left: 50%;
  top: 50%;
  height: 0%;
  width: 100%;
  z-index: -1;
  transition: 0.75s ease-in-out;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.main-link:hover::after {
  height: 15em;
}
<body>
  <div id='main'>
    <div id='content'>
      <div id='main-image'>
        <div id='main-image-intro'>
          <ul id='main-image-cto'>
            <li>
              <a href='subscribe.html' class='main-link'> GET STARTED </a>
            </li>
            <li>
              <a href='subscribe.html' class='main-link'> GIFT IT </a>
            </li>
          </ul>
        </div>
      </div>
    </div>
  </div>
</body>

在Ubuntu 15.10下测试:

  • Chromium 47.0.2526.73
  • Mozilla Firefox 43.0.4

1 个答案:

答案 0 :(得分:4)

编辑: 我彻底改变了我的回答。认为这应该适用于任何现代浏览器,并且是一个更省钱的选项。

a.button {
    color: black;
    height: 50px;
    width: 200px;
    border: 2px solid black;
    padding: 10px 30px;
    text-decoration: none;
    font-family: Helvetica;
    position: relative;
    display: inline-block;
    line-height: 50px;
    text-align: center;
    transition: color 0.2s ease-out;
    overflow: hidden;
}
a.button:after {
    position: absolute;
    content: '';
    background-color: black;
    height: 100%;
    width: 1px;
    left: 65%;
    top: 0;
    z-index: -1;
    transition: transform 0.4s ease-out;
    transform: skew(45deg) scale(0,1);
    margin-left: -20%;
}
a.button:hover {
    color: white;
}
a.button:hover:after {
    width: 1px;
    background-color: black;
    transform: skew(45deg) scale(400, 1);
}
<a class="button" href="">Button</a>