CSS3标志动画?
Posted
技术标签:
【中文标题】CSS3标志动画?【英文标题】:CSS3 logo animation? 【发布时间】:2015-06-11 22:29:31 【问题描述】:我需要为徽标制作动画,此链接中有一个示例 (http://www.minmedia.nl/footer)
我的问题如下: 只有“Webdesign by”部分和标志的双色药丸部分应该在动画开始时可见。当你将鼠标悬停在它上面时,药丸应该向左移动,“webdesign by”部分现在应该淡出。此外,当标志的“药丸”部分向左滑动时,标志的最后部分应该变得可见并且也向左滑动。这样最终显示将是完整的徽标。 当您再次将鼠标移开时,它应该会反转并且再次显示“webdesign by”文本和徽标的“药丸”部分。
我对 html 和 CSS 有基本的了解,但对 CSS3 动画/过渡没有任何经验。
如果有人可以帮助我,那就太好了,或者如果您碰巧知道指向可以帮助我的页面的链接,那也很棒。
【问题讨论】:
您需要将所有组件包装在一个容器中,并在该包装器上设置悬停效果。滑动项目最好通过转换 transform:translateX() 属性来完成。褪色应该通过改变不透明度值来完成 请在此处为我们添加标记... 【参考方案1】:下面是您如何为此使用关键帧的示例。
您将需要根据自己的需要调整时间,并添加 -moz-
前缀,但初步工作已为您完成。通过使用包装器,很容易为你的元素设置溢出隐藏,虽然严格来说,你可以不使用它,但这取决于你的情况。
我还假设您的图像是 80px * 80px,但这可以调整。
.wrap
width: 200px;
position: relative;
height: 80px;
vertical-align: middle;
overflow:hidden;
.wrap img
height: 80px;
position: absolute;
top: 0;
left: calc(100% - 80px);
-webkit-animation: 3s picMove forwards;
animation: 3s picMove forwards;
.wrap div
display: inline-block;
position: absolute;
height: 80px;
line-height: 80px;
top: 0;
.firstText
left: 0;
-webkit-animation: 3s fade forwards;
animation: 3s fade forwards;
opacity: 0;
.secondText
left: 100%;
-webkit-animation: 3s movefade forwards;
animation: 3s movefade forwards;
@-webkit-keyframes fade
0%
opacity: 1;
100%
opacity: 0;
@keyframes fade
0%
opacity: 1;
100%
opacity: 0;
@keyframes movefade
0%
opacity: 0;
left: 100%;
100%
opacity: 1;
left: 80px;
@-webkit-keyframes movefade
0%
opacity: 0;
left: 100%;
100%
opacity: 1;
left: 80px;
@-webkit-keyframes picMove
0%
left: calc(100% - 80px);
100%
left: 0;
@keyframes picMove
0%
left: calc(100% - 80px);
100%
left: 0;
<div class="wrap">
<div class="firstText">First</div>
<img src="http://placekitten.com/g/300/300" />
<div class="secondText">Second</div>
</div>
【讨论】:
以上是关于CSS3标志动画?的主要内容,如果未能解决你的问题,请参考以下文章
Css3之基础-10 Css列表(列表项标志 列表项图像列表项位置列表属性)