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

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

请从 github 下载。

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

代码解读

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

B U T T O N

按钮居中:

立即学习“前端免费学习笔记(深入)”;

html, body {    height: 100%;    display: flex;    align-items: center;    justify-content: center;}

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

.box {    width: 200px;    height: 60px;    border: 2px solid black;    text-align: center;    font-size: 30px;    line-height: 60px;    font-family: sans-serif;}

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

.box span {    display: inline-block;    color: blue;}

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

.box span:nth-child(odd) {    transform: translateY(-100%);}.box span:nth-child(even) {    transform: translateY(100%);}

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

.box span::before {    content: attr(data-text);    position: absolute;    color: red;}

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

.box span:nth-child(odd)::before {    transform: translateY(100%);}.box span:nth-child(even)::before {    transform: translateY(-100%);}

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

.box:hover span {    transform: translateY(0);}.box span {    transition: 0.5s;}

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

.box {    overflow: hidden;}

大功告成!

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

相关推荐:

CSS3实现文本垂直排列

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

以上就是如何使用CSS实现一个按钮文字滑动的效果的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1610795.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 01:44:32
下一篇 2025年12月24日 01:45:03

相关推荐

  • 如何用纯CSS 实现一个颜色卡的效果

    这篇文章主要介绍了关于如何用纯CSS 实现一个颜色卡的效果,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 源代码下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com/comehope/front-end-daily-challenges …

    2025年12月24日
    000
  • css相对定位

    定位的四种模式:static,relative,absolute,fixed 定位的四个位置:left,right,top,bottom 定位属性:position,有四种状态值 1.static:静态定位,按元素在文档流中的顺序排列,这是默认值,四个位置无效 2.relative:相对定位,元素相…

    好文分享 2025年12月24日
    000
  • css绝对定位

    定位的四种模式:static,relative,absolute,fixed 定位的四个位置:left,right,top,bottom 定位属性:position,有四种状态值 1.static:静态定位,按元素在文档流中的顺序排列,这是默认值,四个位置无效 2.relative:相对定位,元素相…

    好文分享 2025年12月24日
    000
  • css固定定位

    定位的四种模式:static,relative,absolute,fixed 定位的四个位置:left,right,top,bottom 定位属性:position,有四种状态值 1.static:静态定位,按元素在文档流中的顺序排列,这是默认值,四个位置无效 2.relative:相对定位,元素相…

    好文分享 2025年12月24日
    000
  • css浮动的原理

    一、浮动与绝对定位的相同之处: 1. 浮动元素也脱离了文档流 2. 元素浮动之后都支持了宽高,变成了块元素, 二、浮动的特点:只能沿着水平方向进行; 5.浮动的原理 .box1 { width:200px; height: 200px; background-color: lightskyblue;…

    好文分享 2025年12月24日
    000
  • css同级元素之间的清除浮动的技巧

    清除左浮动:该元素的左边不允许出现浮动元素而当前它的左边有浮动元素,而自己本身又是块元素,只能掉到下一行首开始显示 clear: left; 清除右浮动:与上面相同,不允许元素的右边出现浮动元素,同样它只能在右浮动元素下面另起一行显示,当然,它也只能沿着右浮动的最下面的底边为起始点,开始显示 cle…

    好文分享 2025年12月24日
    000
  • css层次元素之间的清除浮动的技巧

    如果让父元素包住浮动的子元素?主要有以下几种方法: 1:让父元素也一起浮动:经测试该方法可行,而且四周全部包住,非常严实.但是如果当前的子元素有多个父级的话, 那么每个父级元素都要设置浮动,甚至要一直写到 ,所以该方法pass。 2.给父元素设置溢出隐藏属性:同样也可实现要求,但这种方法有很多兼容性…

    好文分享 2025年12月24日
    000
  • 关于CSS更改鼠标为手状样式的介绍

    这篇文章主要介绍了css更改鼠标为手状样式的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在自行设置的p或者其他标签中,为了更好的体验效果,会将在滑动过程中,将鼠标变为手势 简单总结下css对应的样式。 所在的p中,添加cursor:pointer即可。 示例: 立即学习“前端免费学习…

    好文分享 2025年12月24日
    000
  • 关于CSS中的position:relative;的作用介绍

    这篇文章主要介绍了关于css中的position:relative;的作用介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 CSS中的position:relative是控制元素相对定位的,relative 不脱离文档流而absolute 脱离文档流,relative 的元素尽管表…

    好文分享 2025年12月24日
    000
  • 针对主流浏览器的CSS-HACK写法及IE常用条件注释

    本文将为你总结css针对各浏览器的兼容hack(以ie6/ie7/ie8 /ff为主),以及ie特有的条件注释使用方法. 对于前端工作者,最痛苦的事莫过于浏览器兼容性的调试,而这最痛苦的事中,最变态的莫过于微软的三个版本IE6.0/IE7.0/IE8.0. 为了让所写代码在各主流浏览器中正常运行,我…

    好文分享 2025年12月24日
    000
  • css基本选择器

    1.基本选择器/*元素选择器*/ul { padding: 0;margin: 0;width: 450px;border: 1px dashed #666;padding: 10px 5px;}ul:after { /*子块撑开父块*/content:”; /*在子元素尾部添加空内容元素*/di…

    好文分享 2025年12月24日
    000
  • css属性选择器实例

    2.属性选择器 /*元素选择器*/ ul { padding: 0;margin: 0;width: 450px;border: 1px dashed #666;padding: 10px 5px;}ul:after { /*子块撑开父块*/content:”; /*在子元素尾部添加空内容元素*/…

    好文分享 2025年12月24日
    000
  • css伪类选择器

    css伪类选择器 /*元素选择器*/ ul {    padding: 0; margin: 0; 立即学习“前端免费学习笔记(深入)”; width: 450px; border: 1px dashed #666; padding: 10px 5px; } ul:after {  /*子块撑开父块…

    好文分享 2025年12月24日
    000
  • css上下文选择器

    家族: 祖宗,父辈,兄弟同辈关系 1.祖先元素: 包括多级后代的元素; 2.父级元素: 仅包括一级子元素的元素; 3.相邻元素: 拥有同一个父级的元素; 1.后代选择器:先找到祖先元素,再选择它下面的所有指定后代元素 立即学习“前端免费学习笔记(深入)”;   语法: 祖先与目标之间用空格分开,可以…

    好文分享 2025年12月24日
    000
  • CSS表格设置实例

    4.CSS表格设置 /*第一步:给整个表格以及内部的所有单元格加上边框*/ table,th,td { border: 1px solid #333; } /*第二步:将整个表格以及内部单元格的边框全部折叠,就是线条二合一*/ table { /*折叠表格线*/ border-collapse: c…

    好文分享 2025年12月24日
    000
  • CSS背景设置

    背景设置的五个样式规则     1. 背景颜色: background-color     2. 背景图片: background-image     3. 背景图片的重复方式: background-repeat     4. 背景图片的定位方式: background-position 立即学习…

    好文分享 2025年12月24日
    000
  • CSS控制列表

    属性描述 list-style简写属性。用于把所有用于列表的属性设置于一个声明中 list-style-image将图象设置为列表项标志。 list-style-position设置列表中列表项标志的位置。 list-style-type设置列表项标志的类型。 立即学习“前端免费学习笔记(深入)”;…

    好文分享 2025年12月24日
    000
  • 关于webpack项目混用css module的方法

    这篇文章主要介绍了webpack项目轻松混用css module的方法,内容挺不错的,现在分享给大家,也给大家做个参考。 前言 本文讲述css-loader开启css模块功能之后,如何与引用的npm包中样式文件不产生冲突。 比如antd-mobilenpm包的引入。在不做特殊处理的前提下,样式文件将…

    好文分享 2025年12月24日
    000
  • 关于CSS编程的OOCSS和SMACSS设计模式的介绍

    这篇文章主要介绍了浅谈css编程的oocss和smacss设计模式,作者分析了这两种设计css的不同思路,需要的朋友可以参考下 真心觉得写出 CSS 并不难,但是要写出可被维护的 CSS 比其他程式语言都还难。所幸已经有许多大师级的人物,提出许多设计模式和思维,借由站在巨人的肩膀上可以让事情事半功倍…

    好文分享 2025年12月24日
    000
  • CSS制作提示框 ‘正在加载请。。。。。’的方法

    这篇文章主要介绍了关于css制作提示框 ‘正在加载请。。。。。’的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 最近做项目遇到这样的需求,页面加载数据比较慢,一直没有反应,下面小编给大家带来了基于CSS制作提示框 ‘正在加载请。。。。。’功能,需要的朋友参考下吧  需求:   …

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信