CSS爱!在鼠标悬停的blockquote中的动画背景可以工作,但是在鼠标输出时没有

时间:2016-11-27 03:57:29

标签: css css-animations onmouseover onmouseout blockquote

花了我几个小时来彻底检查标准<blockquote>标签,现在我陷入了最后一步,即动画。我已经尝试了所有的东西,但可以让它正常工作。如果有人可以帮助我,我真的很感激。

理想情况下,我喜欢Twitter的鸟儿移动和淡入&amp;出:

LEFT CENTER (向中心移动时淡入 - 鼠标悬停在上方)和
CENTER RIGHT (向右移动时淡出 - 鼠标移出时)

我让小鸟在鼠标移动时从左到右移动,但我无法在鼠标移出时从中心向右移动。

请注意,此<blockquote>是根据 Pseudo Classes&amp;元素,看起来像这样。

<blockquote>
  <a href="#">Text link here</a>
</blockquote>

我使用了1个类作为链接,只是为了扩展可点击区域。如果您知道某种方法并不涉及这个老技巧,请告诉我。

请查看我的工作。任何建议或代码改进都非常受欢迎。

FIDDLE - https://jsfiddle.net/7kr7en1m

1 个答案:

答案 0 :(得分:3)

I used this answer来帮助解决这个问题。

关键是动画左边和左边边缘。它的工作原理如下:

  1. 这只鸟从blockquote
  2. 的右侧开始
  3. 在悬停时,通过将blockquote设置为0,鸟类移动到margin-left的左侧而没有任何动画,然后启动left属性开始设置动画。
  4. 悬停后,由于已重新应用margin-left动画,因此鸟动画向右移动。
  5. &#13;
    &#13;
    a {
      text-decoration: none;
    }
    
    a:link {
      color: #f00;
    }
    
    a:visited {
      color: #f00;
    }
    
    a:hover {
      color: rgba(0, 0, 0, 0);
    }
    
    blockquote {
      position: relative;
      font-weight: 900;
      font-size: 18px;
      line-height: 22px;
      text-align: left;
      padding: 10px 35px 10px;
      margin: 0 15px;
      border: solid 1px rgb(220, 220, 220);
      border-radius: 10px;
      position: relative;
      background-color: white;
      box-shadow: 5px 5px 20px #e9edef;
      width: 20%;
      min-width: 200px;
      float: right;
    	overflow: hidden;
    }
    
    blockquote:hover {
      
    }
    
    a:after {
      content: '';
      position: absolute;
      width: 100%;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      left: -90%;
      margin-left: 200%;
      transition: left 300ms linear, margin-left 300ms ease-out;
      color: #009fff;
      cursor: pointer;
      background-image: url('http://image.prntscr.com/image/39b3926093f442c095554fb6a147ef01.png');
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      /* transition: background-image 0.5s ease;
      -moz-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      -webkit-transition: all 0.5s ease;
      -o-transition: all 0.5s ease; */
    }
    
    a:before {
      content: '';
      transition: background-color 300ms ease;
    }
    
    a:hover:before {
      position: absolute;
      width: 100%;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      background-position: center;
      background-size: contain;
      background-color: #009fff;
      border: solid 1px #009fff;
    }
    
    a:hover:after {
      transition: left 300ms ease-out;
      margin-left: 0;
      left: 0;
    }
    &#13;
    <h3>
    What is Lorem Ipsum?
    </h3>
    
    <blockquote>
      <a href="#" class="qoute-to-tweet">Animated Lorem Ipsum dummy text that is used in this quote is ready to be tweeted with one click</a>
    </blockquote>
    
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
    &#13;
    &#13;
    &#13;