首页 > web前端 > css教程 > 如何使用CSS实现一个按钮文字滑动的效果

如何使用CSS实现一个按钮文字滑动的效果

不言
发布: 2018-07-10 15:59:36
原创
2893 人浏览过

这篇文章主要介绍了关于如何使用CSS实现一个按钮文字滑动的特效 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下源代码下载

请从 github 下载。

https://github.com/comehope/front-end-daily-challenges/tree/master/001-button-text-staggered-sliding-effects

代码解读

定义 dom,在一个容器中定义按钮的文字,每个字母一个 span,每个 span 有一个 data-text 属性,其值与 span 内的字母相同:

1

2

3

4

5

6

7

8

<p class="box">

    <span data-text="B">B</span>

    <span data-text="U">U</span>

    <span data-text="T">T</span>

    <span data-text="T">T</span>

    <span data-text="O">O</span>

    <span data-text="N">N</span>

</p>

登录后复制

按钮居中:

1

2

3

4

5

6

html, body {

    height: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

}

登录后复制

设置按钮的尺寸和文字样式:

1

2

3

4

5

6

7

8

9

.box {

    width: 200px;

    height: 60px;

    border: 2px solid black;

    text-align: center;

    font-size: 30px;

    line-height: 60px;

    font-family: sans-serif;

}

登录后复制

按钮的每个字母都设置为行内块元素,以便单独设置动效:

1

2

3

4

.box span {

    display: inline-block;

    color: blue;

}

登录后复制

把字母交错地显示在按钮容器之外,第奇数个元素显示在上,第偶数个元素显示在下:

1

2

3

4

5

6

7

.box span:nth-child(odd) {

    transform: translateY(-100%);

}

 

.box span:nth-child(even) {

    transform: translateY(100%);

}

登录后复制

用伪元素为每个字母增加一个副本:

1

2

3

4

5

.box span::before {

    content: attr(data-text);

    position: absolute;

    color: red;

}

登录后复制

让伪元素的字母也交错显示,位置与其原始元素相对:

1

2

3

4

5

6

7

.box span:nth-child(odd)::before {

    transform: translateY(100%);

}

 

.box span:nth-child(even)::before {

    transform: translateY(-100%);

}

登录后复制

为按钮增加鼠标划过样式,设置緩动时间,使其有动画效果:

1

2

3

4

5

6

7

.box:hover span {

    transform: translateY(0);

}

 

.box span {

    transition: 0.5s;

}

登录后复制

最后,隐藏容器外的内容:

1

2

3

.box {

    overflow: hidden;

}

登录后复制

大功告成!

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

CSS3实现文本垂直排列

CSS制作Web页面条纹背景样式的介绍

以上是如何使用CSS实现一个按钮文字滑动的效果的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板