【CSS】计数器
抄自B站Up主CodingStartup起码课
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="./vue.min.js"></script>
<title>Document</title>
</head>
<body>
<div id="number-input">
<button @click="subtract">-</button>
<span :class="{before:isBefore, after:isAfter}" :data-before="countBefore"
:data-after="countAfter">{{count}}</span>
<button @click="add">+</button>
</div>
</body>
</html>
<script>
new Vue({
el: '#number-input',
data: {
count: 6,
isBefore: false,
isAfter: false,
},
computed: {
countBefore: function () { return this.count - 1; },
countAfter: function () { return this.count + 1; }
},
methods: {
add() {
if (!this.isAfter) {
this.isAfter = true;
setTimeout(() => {
this.count ++;
this.isAfter = false;
}, 200);
}
},
subtract() {
if (!this.isBefore) {
this.isBefore = true;
setTimeout(() => {
this.count--;
this.isBefore = false;
}, 200);
}
},
}
});
</script>
<style>
:root {
font-size: 100px;
font-size: 700;
font-family: 'Microsoft YaHei';
}
html,
body {
margin: 0;
padding: 0;
min-height: 100vh;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
#number-input {
width: 5rem;
height: 1rem;
background-color: #000;
border-radius: .2rem;
display: flex;
overflow: hidden;
padding: 0.3rem 0;
position: relative;
box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.6);
}
#number-input::after {
content: '';
position: absolute;
top: 0;
left: 0;
background: linear-gradient(180deg, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.9) 100%);
width: 100%;
height: 100%;
}
#number-input span {
color: #fff;
display: block;
flex: 1 1 5rem;
line-height: 1rem;
text-align: center;
transform: translateY(-1rem);
}
#number-input span.before {
transform: translateY(0rem);
transition: transform .2s ease-in;
}
#number-input span.after {
transform: translateY(-2rem);
transition: transform .2s ease-in;
}
#number-input span::before {
display: block;
content: attr(data-before);
}
#number-input span::after {
display: block;
content: attr(data-after);
}
#number-input button {
border: none;
flex: 0 0 1.2rem;
background: none;
color: #fff;
font-size: .6rem;
line-height: 1rem;
padding: 0;
margin: 0;
width: 1rem;
height: 1rem;
position: relative;
z-index: 100;
}
</style>
【CSS】计数器的更多相关文章
- css计数器详解
什么是css计数器 体验更佳排版请戳原文链接:http://blog.liuxianan.com/css-counters.html 就是采用css给一些html元素自动生成编号,比如类似1.3.2这 ...
- CSS计数器
使用CSS计数器就像使用变量一样. 它有以下几个属性: counter-reset 创建或重置计数器 counter-increment 增长计数器 content 生成内容 counter() 将计 ...
- 转载:CSS计数器的趣味时光之css计算数据
CSS计数器是“啊太好了,竟不知道CSS可以做这啊”这类非常有趣的众多特性之一.简言之,用CSS使你持续某增加某个量,而无需JavaScript. 简单计数器 我们从这个简单的分页示例开始: 你见到的 ...
- CSS计数器的趣味时光
CSS计数器是“啊太好了,竟不知道CSS可以做这啊”这类非常有趣的众多特性之一.简言之,用CSS使你持续某增加某个量,而无需JavaScript. 简单计数器 我们从这个简单的分页示例开始: 你见到的 ...
- 排行榜妙用——CSS计数器
碰到的坑 小伙伴你们是否有碰到以下的情况,排行榜前3名的样式不一样,你们是怎么处理的么?
- CSS计数器妙用
做web的经常会遇到类似排行榜的需求, 特别是要求前n名的样式和后面人不一样. 通常大多数人对于这个需求的做法都是在后端处理好排名名次, 在前端填入内容, 然后针对前n名做特殊的样式处理. 但是这样有 ...
- CSS计数器(序列数字字符自动递增)详解———张鑫旭
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=4303 一.挖坟不可耻 ...
- css计数器 及 鼠标经过从中间扩散一个矩形(正方形长方形均可)
<!DOCTYPE html> <html> <head> <title>css计数器--兼容IE8</title> <meta ch ...
- CSS计数器:counter
最近的需求,明星字体销售排行榜中,需要对字体的销售情况进行排序. 在早期,只有ol和ul可以对子元素li进行排序:如果不使用这两个标签,就由前台开发去手动填写序号. 当然,在这个需求中,数据不是实时更 ...
- CSS 计数器详解
在前端开发中总少不了列表项,对于列表项序号,射鸡师一般会列出个1,2,3...序号.在不了解css计数器属性之前,我一般会用精灵图,用类名来区分序列号图片.这样做尽管可以达到目的,但是很不方便,开发过 ...
随机推荐
- 1.1 MATLAB系统环境
专题一 MATLAB基础知识 1.1 MATLAB系统环境 1. 续行符(三个点) 2. 当前文件夹 先建立当前文件夹,再cd 3.工作区窗口 4.搜索路径 01当前文件夹下的程序文件 变 ...
- (11)MySQL进阶篇SQL优化(InnoDB锁问题排查与解决)
1.概述 前面章节之所以介绍那么多锁的知识点和示例,其实最终目的就是为了排查与解决死锁的问题,下面我们把之前学过锁知识重温与补充一遍,然后再通过例子演示下如果排查与解决死锁. 2.前期准备 ●数据库事 ...
- Java流程控制05——循环结构
循环结构 while 循环 while(布尔表达式){ //循环语句 } 只要布尔表达式为true,循环就会一直执行下去. 我们为你大多数情况是会让循环停止下来的,我们需要让一个表达式时效的方式 ...
- Speed up Downloading Files on Linux
Compared aria2c, axel and wget, aria2c is the best. It support multi-thread download (with "-s ...
- WPF(MVVM) 利用资源字典实现中英文动态切换
1.首先新建两个字典文件en-us.xaml.zh-cn.xaml.定义中英文的字符串在这里面. 2.将两个资源字典添加到App.xaml中,这里注意下,因为两个字典中有同样字符,如果没有动态更改,默 ...
- pfx格式密钥库修改密码
1.pfx格式的密钥库不能直接用keytool修改私钥密码,需要先转成keystore keytool -importkeystore -srckeystore D:/ssl/test.pfx -sr ...
- 课程设计-基于SSM的美容美发造型预约管理系统代码Java理发剪发设计造型系统vue美发店管理系统
注意:该项目只展示部分功能,如需了解,评论区咨询即可. 1.开发环境 开发语言:Java 后台框架:SSM 前端框架:vue 数据库:MySQL 设计模式:MVC 架构:B/S 源码类型: Web 编 ...
- 生成二维码项目pom.xml中QRCode依赖报错
pom.xml报错如下: 解决方法: 1.将QRCode.jar包下载到E盘下 网盘下载地址: 链接:https://pan.baidu.com/s/1sY1NK5ekCkNH0uqraZMnKw 提 ...
- Linux系统启动初始化
文章目录 一.BIOS 加载启动引导程序 二.MBR 主引导扇区 三.GRUB引导内核 3.1运行 boot.img 3.2加载 core.img 3.3切换到保护模式 3.4kernel.img 引 ...
- xv6学习笔记(4) : 进程调度
xv6学习笔记(4) : 进程 xv6所有程序都是单进程.单线程程序.要明白这个概念才好继续往下看 1. XV6中进程相关的数据结构 在XV6中,与进程有关的数据结构如下 // Per-process ...