CSS变换旋转回来
Posted
技术标签:
【中文标题】CSS变换旋转回来【英文标题】:CSS transform rotate back 【发布时间】: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>
【问题讨论】:
看看这个:***.com/questions/16516793/… 【参考方案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);
【讨论】:
以上是关于CSS变换旋转回来的主要内容,如果未能解决你的问题,请参考以下文章