【问题标题】:CSS transform rotate backCSS变换旋转回来
【发布时间】:2017-01-20 23:15:00
【问题描述】:

我找到了这个 sn-p:codepen.io/gianmichelle/pen/xpwEh/ 给一个机会,当我用鼠标离开时,图标会旋转回来? 在悬停时我旋转 360°。但是我没有找到一种方法可以在鼠标左侧旋转回来。

a {
  color: #fff;
  text-decoration: none;
}
.me {
  width: 400px;
  margin: 90px auto;
}
.me p,
.me h1 {
  text-transform: uppercase;
  letter-spacing: 3px;
  text-align: center;
}
.me p {
  font-weight: 200;
}
.me span {
  font-weight: bold;
}
.social {
  position: fixed;
  top: 20px;
}
.social ul {
  padding: 0px;
  -webkit-transform: translate(-270px, 0);
  -moz-transform: translate(-270px, 0);
  -ms-transform: translate(-270px, 0);
  -o-transform: translate(-270px, 0);
  transform: translate(-270px, 0);
}
.social ul li {
  display: block;
  margin: 5px;
  background: rgba(0, 0, 0, 0.36);
  width: 300px;
  text-align: right;
  padding: 10px;
  -webkit-border-radius: 0 30px 30px 0;
  -moz-border-radius: 0 30px 30px 0;
  border-radius: 0 30px 30px 0;
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  -ms-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
}
.social ul li:hover {
  -webkit-transform: translate(110px, 0);
  -moz-transform: translate(110px, 0);
  -ms-transform: translate(110px, 0);
  -o-transform: translate(110px, 0);
  transform: translate(110px, 0);
  background: rgba(255, 255, 255, 0.4);
}
.social ul li:hover a {
  color: #000;
}
.social ul li:hover i {
  color: #fff;
  background: rgba(0, 0, 0, 0.36);
  -webkit-transform: rotate(360deg);
  -moz-transform: rotate(360deg);
  -ms-transform: rotate(360deg);
  -o-transform: rotate(360deg);
  transform: rotate(360deg);
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  -ms-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
}
.social ul li i {
  margin-left: 10px;
  color: #000;
  background: #fff;
  padding: 10px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  font-size: 20px;
  background: #ffffff;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
}
body {
  background: #25343F;
  color: #fff;
  font-family: 'Raleway', sans-serif;
}
<link href='http://fonts.googleapis.com/css?family=Raleway:400,200' rel='stylesheet' type='text/css'>

<link href="//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
<nav class="social">
  <ul>
    <li><a href="http://twitter.com/gian_michelle">Twitter <i class="fa fa-twitter"></i></a>
    </li>
    <li><a href="http://facebook.com/gian.michelle">Facebook <i class="fa fa-facebook"></i></a>
    </li>
    <li><a href="http://dribbble.com/gian_michelle">Dribbble <i class="fa fa-dribbble"></i></a>
    </li>
    <li><a href="http://behance.net">Behance <i class="fa fa-behance"></i></a>
    </li>

  </ul>
</nav>
<div class="me">
  <p>Created by:
    <p>
      <h1>Gian Di Serafino</h1>
      <p>for <span>Informartion architecture</span>
      </p>
</div>

【问题讨论】:

标签: css


【解决方案1】:

您必须将过渡添加到 .social ul li i 元素而不是 .social ul li:hover i 元素,因为在您的示例中,只有当您将鼠标悬停在元素上时,过渡才处于活动状态。并且您希望过渡始终处于活动状态。

你必须添加:

.social ul li i {
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  -ms-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;    
}

这是笔:http://codepen.io/anon/pen/KgVXwN

【讨论】:

    【解决方案2】:

    您只需要在 i 元素中添加初始旋转代码即可;

      .social ul li i {
          -webkit-transform: rotate(0deg);
          -moz-transform: rotate(0deg);
          -ms-transform: rotate(0deg);
          -o-transform: rotate(0deg);
          transform: rotate(0deg);
        }
    

    【讨论】:

      猜你喜欢
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多