毛玻璃时钟特效

news2024/12/24 13:46:40

效果展示

在这里插入图片描述

页面结构组成

从上述的效果展示可以看到,我们的背景图片是有三个色块组成,为了能够掌握linear-gradient属性,所以我们背景的三个色块可以采用此属性来实现。

而时钟的数字我们采用背景图片实现,而三个指针我们是用元素来实现,而时钟的阴影是通过阴影属性来实现。

CSS3 知识点

  • linear-gradient 属性运用
  • animation 属性运用
  • radial-gradient 属性运用

页面结构实现

通过上述的页面结构说明,我们可以这样来定义页面结构。

<div class="container">
  <div class="box">
    <!-- 时钟 -->
    <div class="clock">
      <div class="hour">
        <div class="hr" id="hr"></div>
      </div>
      <div class="min">
        <div class="mn" id="mn"></div>
      </div>
      <div class="sec">
        <div class="sc" id="sc"></div>
      </div>
    </div>
  </div>
</div>

页面背景实现

实现页面背景的时候,我们可以使用background中的linear-gradient属性来设置,并且采用伪元素来展示不同的色块。

body::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    45deg,
    #e91e63,
    #e91e63 50%,
    #ffc107 50%,
    #ffc107
  );
}

body::after {
  content: "";
  display: block;
  position: absolute;
  top: -20px;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    160deg,
    #03a9f4,
    #03a9f4 50%,
    transparent 50%,
    transparent
  );
  animation: animate 5s ease-in-out infinite;
}

时钟外框实现

时钟的外框其实就是一个带有边框并且带有毛玻璃属性的元素。

.box {
  position: relative;
  z-index: 1;
  width: 400px;
  height: 400px;
  backdrop-filter: blur(25px);
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.5);
  animation: animate 5s ease-in-out infinite;
  animation-delay: -2.5s;
}

时钟仪表盘实现

时钟的仪表盘我们采用图片进行展示,因为仪表盘的图片是透明背景,而要实现时钟仪表盘呈现毛玻璃的效果,我们需要借助radial-gradient属性来帮我们实现功能。

.clock {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  bottom: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: radial-gradient(transparent, rgba(255, 255, 255, 0.2)),
    url(clock.png);
  background-size: cover;
  border-radius: 50%;
  backdrop-filter: blur(25px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: none;
  border-right: none;
  box-shadow: -10px -10px 20px rgba(255, 255, 255, 0.1), 10px 10px 20px rgba(
        0,
        0,
        0,
        0.1
      ) 0 40px 50px rgba(0, 0, 0, 0.2);
}

// 仪表盘中心的实心圆
.clock::before {
  content: "";
  display: block;
  position: absolute;
  width: 15px;
  height: 15px;
  background: #fff;
  border-radius: 50%;
  z-index: 10000;
}

实现三个指针部分

三个指标比较简单,采用绝对定位就可以。

.hour,
.hr {
  width: 160px;
  height: 160px;
}

.min,
.mn {
  width: 190px;
  height: 190px;
}

.sec,
.sc {
  width: 230px;
  height: 230px;
}

.hr,
.mn,
.sc {
  display: flex;
  justify-content: center;
  position: absolute;
  border-radius: 50%;
}

.hr::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 80px;
  background: #ff105e;
  z-index: 11;
  border-radius: 6px;
}

.mn::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 90px;
  background: #fff;
  z-index: 11;
  border-radius: 6px;
}

.sc::before {
  content: "";
  position: absolute;
  width: 2px;
  height: 150px;
  background: #fff;
  z-index: 11;
  border-radius: 6px;
}

编写动画

因为页面在展示的时候,背景和时钟都是会进行上下移动的,所以这里编写一下动画函数。

@keyframes animate {
  0%,
  100% {
    transform: translateY(10px);
  }
  50% {
    transform: translateY(-10px);
  }
}

完整代码下载

完整代码下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1054290.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【夏虫语冰】测试服务器端口是否打开(命令行、Python)

文章目录 1、简介2、命令行2.1 telnet2.1.1 工具简介2.1.2 工具配置2.1.3 工具使用 2.2 curl2.2.1 工具简介2.2.1 工具下载2.2.1 工具使用 2.3 wget2.3.1 工具简介2.3.2 工具下载2.3.2 工具使用 2.4 nc2.4.1 工具简介2.4.2 工具安装2.4.3 工具使用 2.5 ssh2.5.1 工具简介2.5.2 …

【OpenMV】AprilTag标记跟踪 NCC模板匹配 测距与测量物体大小

目录 AprilTag标记跟踪 NCC模板匹配 测距以及测量物体大小 识别乒乓球的距离与大小 红色矩形与蓝色矩形同时识别 AprilTag标记跟踪 Tag36h11&#xff0c;Tag25h9&#xff0c;Tag16h5 Tag36h11信息量更大&#xff0c;更准确 # AprilTags Example # # This example show…

STM32晶振的选择与计算

目录 1、石英晶体特性和型号2、振荡器理论2.1负电阻2.2跨导2.3负阻振荡器原理 3、皮尔斯振荡器设计3.1 皮尔斯振荡器简介3.2反馈电阻器3.3负载电容3.4振荡器跨导3.5驱动电平和外部电阻计算3.5.1计算驱动电平3.5.2另一种驱动电平测量方法3.5.3计算外部电阻 3.6启动时间3.7晶体拉…

Python_面向对象

面向对象编程&#xff08;Object-Oriented Programming&#xff0c;OOP&#xff09;是一种编程范式&#xff0c;它将数据和操作数据的方法组合在一起&#xff0c;以便将数据和行为视为一个整体。这种编程范式的历程可以追溯到20世纪60年代&#xff0c;但直到80年代才开始流行。…

【C语言】【结构体的位段】位段的内存分配及注意事项

1.什么是位段&#xff1a; struct A { int _a:2; int _b:5; int _c:10; int _d:30; };1.A就是一个位段类型的变量&#xff0c;位表示比特位&#xff0c;意思是 A中的变量申请内存的比特位数 比如 _a要占 2 个bit 2.位段的成员必须是 int ,unsigned int ,signed int 类型的&…

瑞吉shardingjdbc4.0.0-RC1-->RC2 读写分离示例错误排查

linux环境&#xff1a;CentOS7.8mysql5.7.29 idea&#xff1a;jdk1.8maven3.5 框架&#xff1a;springboot2.4.5 mybatisplus3.4.2(mybatis-plus-boot-starter)sharding-jdbc4.0.0-RC2(sharding-jdbc-spring-boot-starter兼容性问题由1改成2)druid B站项目视频&#xff1a;…

格拉姆角场GAF将时序数据转换为图像并应用于凯斯西楚大学轴承故障诊断(Python代码,CNN模型)

1.运行效果&#xff1a; 格拉姆角场GAF将时序数据转换为图像并应用于故障诊断&#xff08;Python代码&#xff09;_哔哩哔哩_bilibili 环境库 只要tensorflow版本大于等于2.4.0即可运行 2.GAF的内容 GAF是一种用于时间序列数据可视化和特征提取的技术&#xff0c;通常用于…

小谈设计模式(9)—工厂方法模式

小谈设计模式&#xff08;9&#xff09;—工厂方法模式 专栏介绍专栏地址专栏介绍 工厂方法模式角色分类抽象产品&#xff08;Abstract Product&#xff09;具体产品&#xff08;Concrete Product&#xff09;抽象工厂&#xff08;Abstract Factory&#xff09;具体工厂&#x…

去雨去雪去雾数据集构建

在进行去雨去雪去雾算法的学习过程中&#xff0c;需要构建去雨去雪去雾数据集&#xff0c;本文参考Learning Multiple Adverse Weather Removal via Two-stage Knowledge Learning and Multi-contrastive Regularization: Toward a Unified Model论文中的数据集设定&#xff0c…

15np+pandas+matplotlib

numpy 维数 一维:shape(4,)二维:shape(4,5)三维:shape(4,5,6) 创建ndarray–np.array() # 可以是数组[1,2,3] 元组(1,2,3) 迭代对象range(n) np.array([1,2,3,4,5])列表中元素类型不同&#xff0c;会使用元素类型最大的作为ndarray类型 指定维度ndim 赋值操作 赋值&#xff…

【SpringBoot学习】收藏的学习资料,精!

文章目录 Spring实战&#xff08;第五版&#xff09;&#xff1a; https://potoyang.gitbook.io/spring-in-action-v5/di-er-bu-fen-ji-cheng-spring Spring实战&#xff08;第五版&#xff09;&#xff1a; https://potoyang.gitbook.io/spring-in-action-v5/di-er-bu-fen-ji-…

【cv】图像预处理技术——从特征检测讲述图像预处理理论、实践、应用|01

博主简介&#xff1a;努力学习的22级计算机科学与技术本科生&#x1f338;博主主页&#xff1a; 是瑶瑶子啦每日一言&#x1f33c;: 每一个不曾起舞的日子&#xff0c;都是对生命的辜负。——尼采 文章目录 前言0、特征检测、特征提取、特征描述、特征匹配一、图像预处理概述二…

十、空闲任务及其钩子函数

1、空闲任务的介绍 (1)一个良好的程序&#xff0c;它的任务都是事件驱动的&#xff1a;平时大部分时间处于阻塞状态。 (2)有可能我们自己创建的所有任务都无法执行&#xff0c;但是调度器必须能找到一个可以运行的任务。所以&#xff0c;我们要提供空闲任务。 (3)在使用vTas…

一站式企业协同研发云——云效

一站式企业协同研发云——云效 文章目录 一站式企业协同研发云——云效什么是云效云效的作用云效使用说明公司领导操作步骤项目创建者或项目组长操作步骤项目上线部署 什么是云效 云效是一种基于云计算技术的软件研发与交付管理平台&#xff0c;旨在提高团队的协作效率和软件交…

读者写者问题—内含408真题

读者写者问题—含408 一、问题描述 一个数据问价或记录可以被多个进程共享&#xff0c;我们把只读该文件的进程称为“读者进程”&#xff0c;其他进程为“写者进程”。允许多个进程同时读一个共享对象&#xff0c;但不允许一个写者进程和其他写者进程或读者进程同时访问共享对…

ElementUI结合Vue完成主页的CUD(增删改)表单验证

目录 一、CUD ( 1 ) CU讲述 ( 2 ) 编写 1. CU 2. 删除 二、验证 前端整合代码 : 一、CUD 以下的代码基于我博客中的代码进行续写 : 使用ElementUI结合Vue导航菜单和后台数据分页查询 ( 1 ) CU讲述 在CRUD操作中&#xff0c;CU代表创建&#xff08;Create&#xff09…

通过Nginx配置域名映射到本地项目

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

Spring的注解开发-Spring配置其它注解

Spring配置其它注解 Primary 拓展&#xff1a;Primary注解用于标注相同类型的Bean优先被使用权&#xff0c;Primary是Spring3.0引入的&#xff0c;与Componen&#xff08;及其衍生的三个注解&#xff09;t和Bean一起使用&#xff0c;标注该Bean的优先级更高&#xff0c;则在通…

【知识回顾】Java常用类库-Java Runtime

文章目录 一、快速入门1.1 Runtime 介绍1.2 常用方法1.2.1 基本方法1.2.2 行为控制类1.2.3 系统信息类1.2.4 exec1.2.5 其他方法1.2.6 注意事项 二、基本使用2.1 获取当前虚拟机信息2.2 操作系统进程2.3 Process对象 三、业务场景实战3.1 执行外部脚本3.2 动态加载类 四、小结 …

《数据结构、算法与应用C++语言描述》-栈的应用-迷宫老鼠问题

迷宫老鼠 问题描述 迷宫&#xff08;如图 8-9 所示&#xff09;是一个矩形区域&#xff0c;有一个入口和一个出口。迷宫内部包含不能穿越的墙壁或障碍物。这些障碍物沿着行和列放置&#xff0c;与迷宫的边界平行。迷宫的入口在左上角&#xff0c;出口在右下角。 假定用 nxm 的…