探索 HTML 和 CSS 实现的模拟时钟

devtools/2024/11/16 5:48:29/

效果演示

这段代码是一个模拟时钟的 HTML 和 CSS 代码。它创建了一个简单的数字时钟界面,包括时针、分针和秒针。

HTML

html"><div class="face"><p class="v-index">II</p><p class="h-index">II</p><div class="hand"><div class="hand"><div class="hour"></div><div class="minute"></div><div class="second"></div></div></div>
</div>
  • face:这是时钟的主体部分,包含了时钟的所有元素。
  • v-index和h-index:这些是时钟的刻度,分别表示垂直(V)和水平(H)方向的刻度。这里的"II"可能是罗马数字2,但通常时钟的刻度会用数字或点来表示,这里可能是一个示例。
  • hand:这个容器包含了时钟的指针。
  • hour:时针。
  • minute:分针。
  • second:秒针。

CSS

css">.face {position: relative;width: 180px;height: 180px;border-radius: 50%;outline: 10px solid #333;background: repeating-radial-gradient(circle at 50% 50%,rgba(200,200,200,.2) 0%, rgba(200,200,200,.2) 2%,transparent 2%, transparent 3%, rgba(200,200,200,.2) 3%,transparent 3%), conic-gradient(white 0%, silver 10%,white 35%, silver 45%, white 60%, silver 70%,white 80%, silver 95%, white 100%);box-shadow: inset 0 0 20px #0007;
}.hour {position: absolute;width: 5px;height: 60px;background: #aaa;left: 87.5px;top: 43px;border-radius: 3px 3px 1px 1px;transform-origin: 2px 47px;box-shadow: 0 0 5px #0005,inset 1.5px 3px 0px #333, inset -1.5px -3px 0px #333;z-index: 1;animation: watch 43200s linear infinite;
}.minute {position: absolute;width: 4px;height: 78px;background: #aaa;left: 88px;top: 25px;border-radius: 3px 3px 1px 1px;transform-origin: 2px 65px;box-shadow: 0 0 5px #0005, inset 1.5px 3px 0px #333, inset -1.5px -3px 0px #333;z-index: 2;animation: watch 3600s linear infinite;
}.second {position: absolute;width: 10px;height: 10px;background: red;left: 85px;top: 85px;border-radius: 50%;border: 1px solid #eee;z-index: 3;animation: watch 60s steps(60, end) 0s infinite;
}.second::before {content: "";position: absolute;width: 1px;height: 85px;left: 3px;bottom: -10px;background: red;border-radius: 2px;box-shadow: 5px 0 2px rgba(128, 128, 128, 0.2);
}.second::after {content: "";position: absolute;width: 4px;height: 4px;left: 2px;top: 2px;background: #555;border-radius: 50%;
}.v-index {position: absolute;color: #333;font-size: 24px;left: 83.5px;top: -3px;text-shadow: 0 157px 0 #333;z-index: 1
}.h-index {position: absolute;color: #333;font-size: 24px;top: 72px;left: 5px;transform: rotate(-90deg);text-shadow: 0 158px 0 #333;z-index: 1;
}@keyframes watch {0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}
}
  • .face:定义时钟的主体样式。它是一个相对定位的元素,宽高都是180px,并且有50%的圆角,使其看起来像一个圆形。边框是10px的实线,颜色为深灰色。背景是一个复杂的渐变效果,包括重复的径向渐变和圆锥渐变,以及一个内阴影效果。
  • .hour、.minute 和 .second:这些类定义了时钟指针的基本样式。它们都是绝对定位的元素,有不同的宽度、高度和位置。它们都有圆角和阴影效果,以及一个transform-origin属性,这决定了旋转的中心点。.hour和.minute的动画是watch,分别持续43200秒(12小时)和3600秒(1小时),模拟时针和分针的运动。
  • .second:定义了秒针的样式,它是一个红色的圆形,有一个小的黑色圆点在顶部,模拟秒针的尖端。它的动画是watch,持续60秒,模拟秒针的运动。
  • @keyframes watch:定义了一个关键帧动画watch,它使元素从0度旋转到360度,形成一个完整的圆周运动。

http://www.ppmy.cn/devtools/134354.html

相关文章

Linux手动安装nginx

本次以安装nginx-1.12.2为例 1、首先说明一下&#xff0c;安装nginx之前需要安装如下素材&#xff1a; 2、开始安装 第一步&#xff0c;安装依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel第二步&#xff0c;下载并安装nginx安装包&#xff08;n…

将大型语言模型(如GPT-4)微调用于文本续写任务

要将大型语言模型&#xff08;如GPT-4&#xff09;微调用于文本续写任务&#xff0c;构造高质量的训练数据至关重要。以下是如何构造训练数据的详细步骤&#xff1a; 1. 数据收集&#xff1a; 多样性&#xff1a; 收集多种类型的文本&#xff0c;包括小说、新闻、论文、博客等…

移动应用开发:实现简易调查问卷

文章目录 前言一&#xff0c;创建SurveyActivity活动二&#xff0c;设计UI三&#xff0c;创建字符串资源文件四&#xff0c;编写活动代码五&#xff0c;更新 AndroidManifest.xml六&#xff0c;运行测试 前言 在Android Studio中开发一个调查问卷界面思路解析&#xff1a; 创建…

C#中break和continue的区别?

在C#编程语言中&#xff0c;break和continue是两个用于控制循环流程的关键字&#xff0c;但它们的作用和用途有所不同。 break关键字 break关键字用于立即终止它所在的最内层循环或switch语句&#xff0c;并跳出该循环或switch块。程序执行将继续进行循环或switch语句之后的下一…

深入理解ElasticSearch分词器:详解各种分词器的原理与应用

目录 什么是分词器ElasticSearch中的分词器种类标准分词器&#xff08;Standard Analyzer&#xff09;简单分词器&#xff08;Simple Analyzer&#xff09;空格分词器&#xff08;Whitespace Analyzer&#xff09;语言分词器&#xff08;Language Analyzers&#xff09;拼音分…

wordcloud库基本介绍

文章目录 wordcloud库概述wordcloud库的安装 wordcloud库使用说明配置对象参数 wordcloud应用实例实例: 政府工作报告词云 wordcloud库概述 wordcloud是优秀的词云展示第三方库 词云以词语为基本单位,更加直观和艺术地展示文本 wordcloud库的安装 (cmd命令行) pip install …

使用Git工具在GitHub的仓库中上传文件夹(超详细)

如何使用Git工具在GitHub的仓库中上传文件夹&#xff1f; 如果觉得博主写的还可以&#xff0c;点赞收藏关注噢~ 第一步&#xff1a;拥有一个本地的仓库 可以fork别人的仓库或者自己新创建 fork别人的仓库 或者自己创建一个仓库 按照要求填写完成后&#xff0c;点击按钮创建…

单元测试、集成测试、系统测试、验收测试、压力测试、性能测试、安全性测试、兼容性测试、回归测试(超详细的分类介绍及教学)

目录 1.单元测试 实现单元测试的方法&#xff1a; 注意事项&#xff1a; 2.集成测试 需注意事项&#xff1a; 实现集成测试的方法&#xff1a; 如何实现高效且可靠的集成测试&#xff1a; 3.系统测试 实现系统测试的方法: 须知注意事项&#xff1a; 4.验收测试 实现验…