你可能需要这样的大屏数字滚动效果

2020-04-27 07:20:00易采站长站整理

大屏数字滚动效果来源于最近工作中一张大屏的UI图,该UI图上有一个模块需要有数字往上翻动的效果,以下是最终实现的效果:

 

思路

在实现此效果之前,我们先来捋一下思路,用思维导图来设计一下我们的实现步骤,如下:

 

初步实现

你可以审查元素,下载数字背景图片

有了以上的设计流程,我们先来简单实现一下

html
结构


<div class="box">
<p class="box-item">
<span>1</span>
</p>
</div>

关键

css


.box-item {
position: relative;
display: inline-block;
width: 54px;
height: 82px;
/* 背景图片 */
background: url(./number-bg.png) no-repeat center center;
background-size: 100% 100%;
font-size: 62px;
line-height: 82px;
text-align: center;
}

实现以上代码后,它的效果将是下面这样的:

思考:背景框中有了数字以后,我们现在来思考一下,背景框中的文字,一定是

0-9
之前的数字,要在不打乱以上
html
结构的前提下,如何让数字滚动起来呢?这个时候我们的魔爪就伸向了一个
CSS
属性:
writing-mode
,下面是它属性的介绍:

horizontal-tb:默认值,表示水平排版,从上到下。
vertical-lr:表示垂直排版,从左到右。
vertical-rl:表示垂直排版,从右到左。

它的实时效果是像下面这样:

根据以上的灵感,我们可以实现下面这样的效果:

html
改动部分:


<p class="box-item">
<span>0123456789</span>