当前位置: 首页 > news >正文

HTML大雪纷飞

图片

目录

写在前面

HTML简介

完整代码

代码分析

运行结果

系列文章

写在后面


写在前面

小编又又又出现啦!这次小编给大家带来大雪纷飞HTML版,不需要任何的环境,只要有一个浏览器,就可以随时随地下一场大雪哦!

HTML简介

简单来说就是:浏览器看得懂的语言

HTML(Hypertext Markup Language)是一种用于创建网页的标记语言。它使用一系列标签来描述页面的结构和内容,以便浏览器能够正确地解析和显示网页。

HTML最早于1990年由蒂姆·伯纳斯-李发明,他同时还发明了第一个Web浏览器。HTML的设计初衷是使文档之间能够互相链接,形成一个被称为“超文本”的新形式。超文本通过超链接将文档之间的关系连接起来,使用户能够轻松地浏览和导航网页。

HTML的基本单位是元素(element)。元素由一个开始标签和一个结束标签组成,中间是元素的内容。开始标签和结束标签之间还可以包含一些属性,这些属性可以提供有关元素的额外信息。例如,一个常见的元素是`<p>`,用于表示段落。它的使用方式是`<p>这是一段文本。</p>`,其中`<p>`是开始标签,`</p>`是结束标签,`这是一段文本。`是段落的内容。

HTML中有许多不同类型的元素,用于表示文字、图像、链接、表格、表单等。这些元素可以根据需要组合在一起,以创建具有不同功能和样式的网页。例如,可以使用`<h1>`到`<h6>`元素表示不同级别的标题,使用`<img>`元素插入图像,使用`<a>`元素创建链接等。

除了基本的元素之外,HTML还支持CSS(Cascading Style Sheets)用于控制网页的样式和布局,以及JavaScript用于实现动态和交互式效果。CSS和JavaScript可以与HTML配合使用,通过引用外部样式表和脚本文件来扩展和增强网页的功能。

HTML的发展不断推动着互联网的发展。随着技术的进步和用户需求的变化,HTML也在不断演进和更新。最新的HTML版本是HTML5,它引入了许多新的特性和功能,如多媒体支持、语义化标签、本地存储等,使网页更加丰富、灵活和易于开发。

总结来说,HTML是一种用于创建网页的标记语言,它使用一系列标签来描述页面的结构和内容。通过使用不同类型的元素,以及与CSS和JavaScript的结合,开发者可以创建出各种丰富、灵活和具有交互性的网页。

完整代码

<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=GBK"><style>* {margin: 0;padding: 0;}#box {width: 100vw;height: 100vh;padding: 3px;position: absolute;background: black;}</style>
</head><body><div id="box"></div>
</body>
<script>(function () {var screenWidth = screen.availWidth;//设定天空宽度var screenHeight = screen.availHeight;//设定天空高度var speed = 1;function Snow(size, downSize) {this.box = document.getElementById("box");this.size = size;this.downSize = downSize || 10;this.item = [];this.init();this.start();}// 获取相关随机数据的方法Snow.prototype.getRandomThings = function (type) {var res;if (type == 'left') {//初始的leftres = Math.round(Math.random() * (screenWidth - 30 - 10)) + 10;Math.random() > 0.8 ? (res = -res) : null;//这句是为了让左边有雪,因为雪是往右飘的,把left设置为负值,就会有的出现在左侧} else if (type == 'top') {//初始的topres = -(Math.round(Math.random() * (50 - 40)) + 40);} else if (type == 'incre') {//向下的速度res = Math.random() * (4 - 1) + 1;} else if (type == 'increLeft') {//向右的速度res = Math.random() * (0.8 - 0.5) + 0.5;} else {//雪花的大小res = Math.round(Math.random() * (30 - 10)) + 10;}return res;}Snow.prototype.init = function () {this.box.style.width = screenWidth + 'px';this.box.style.height = screenHeight + 'px';var fragment = document.createDocumentFragment();for (var i = 0; i < this.size; i++) {//创建好雪花var left = this.getRandomThings('left');var top = this.getRandomThings('top');var snowSize = this.getRandomThings('size');var snow = document.createElement("div");snow.style.cssText = 'position:absolute;color:#FFFFFF;';snow.style['font-size'] = snowSize + 'px';snow.style.left = left + 'px';snow.style.top = top + 'px';snow.innerHTML = '&#10052';this.item.push(snow);fragment.appendChild(snow);}box.appendChild(fragment);}Snow.prototype.start = function () {var that = this;var num = 0;for (var i = 0; i < this.size; i++) {var snow = this.item[i];if ((i + 1) % this.downSize == 0) {//这样处理的话,就可以指定每次落下多少雪花,不然刚开始是一股脑的下来num++;}(function (s, n) {//用闭包的方式setTimeout(function () {that.doStart(s);}, 1000 * n)})(snow, num)}}//针对每个雪花的定时处理Snow.prototype.doStart = function (snow) {var that = this;(function (s) {var increTop = that.getRandomThings('incre');var increLeft = that.getRandomThings('increLeft');var x = parseInt(getStyle(s, 'left')), y = parseInt(getStyle(s, 'top'));if (s.timmer) return;s.timmer = setInterval(function () {//超过右边或者底部重新开始if (y > (screenHeight - 5) || x > (screenWidth - 30)) {//重新回到天上开始往下increTop = that.getRandomThings('incre');increLeft = that.getRandomThings('increLeft');//重新随机属性var left = that.getRandomThings('left');var top = that.getRandomThings('top');var snowSize = that.getRandomThings('size');s.style.left = left + 'px';s.style.top = top + 'px';s.style['font-size'] = snowSize + 'px';y = top;x = left;n = 0;return;}//加上系数,当随大于0.5 速度加快,小于0.5 速度减慢,看起来飘的感觉x += Math.random() > 0.5 ? increLeft * 1.1 : increLeft * 0.9;y += Math.random() > 0.5 ? increTop * 1.1 : increTop * 0.9;//设定left top让雪动起来s.style.left = x + 'px';s.style.top = y + 'px';}, speed);})(snow)}//获取属性值function getStyle(obj, prop) {var prevComputedStyle = document.defaultView ? document.defaultView.getComputedStyle(obj, null) : obj.currentStyle;return prevComputedStyle[prop];}new Snow(300, 30);})()
</script></html>

代码分析

这段代码使用HTML和JavaScript实现了一个下雪效果的动画。以下是对代码的具体分析:

1.首先定义了一个Snow对象,该对象接受两个参数:size表示雪花的数量,downSize表示每次落下的雪花数量。

2. Snow对象的初始化方法init()用于设置天空的宽度和高度,并创建雪花元素。

3. 创建雪花元素时,使用了getRandomThings()方法获取随机的left、top、增加的速度和大小。雪花元素是以div元素的形式创建的,使用绝对定位和设置left、top属性来确定雪花的位置,通过设置字体大小来确定雪花的大小,使用特殊字符来表示雪花。

4. start()方法用于开始动画,根据downSize的值来设置每次落下雪花的数量,并为每个雪花设置定时器来执行下落的动画。

5. doStart()方法是每个雪花的具体下落动画实现,根据随机生成的增加的速度和left、top的值来控制雪花的移动,当雪花接触到屏幕的右边界或底部时,重新设置雪花的位置和速度,实现连续下落的效果。

6. getStyle()方法用于获取元素的CSS属性值。

这段代码通过使用HTML、CSS和JavaScript实现了一个下雪效果的动画,通过设置雪花的数量、大小和速度等参数,可以根据实际需要进行调整。

运行结果

图片

系列文章

序号目录直达链接
1HTML实现3D相册HTML实现3D相册-CSDN博客
2HTML元素周期表HTML元素周期表-CSDN博客
3HTML黑客帝国字母雨HTML黑客帝国字母雨_字母雨html-CSDN博客
4HTML五彩缤纷的爱心HTML五彩缤纷的爱心-CSDN博客
5HTML飘落的花瓣HTML飘落的花瓣-CSDN博客
6HTML哆啦A梦HTML哆啦A梦_html哆啦a梦代码-CSDN博客
7HTML爱情树HTML爱情树-CSDN博客
8HTML新春烟花盛宴HTML新春烟花盛宴-CSDN博客
9HTML想见你HTML想见你-CSDN博客
10HTML蓝色爱心HTML蓝色爱心-CSDN博客
11HTML跳动的爱心HTML跳动的爱心-CSDN博客
12HTML橙色爱心HTML橙色爱心-CSDN博客
13HTML大雪纷飞https://want595.blog.csdn.net/article/details/139136829
14
15
16
17
18
19
20
21
22
23
24
25
26
27

写在后面

我是一只有趣的兔子,感谢你的喜欢!

相关文章:

HTML大雪纷飞

目录 写在前面 HTML简介 完整代码 代码分析 运行结果 系列文章 写在后面 写在前面 小编又又又出现啦&#xff01;这次小编给大家带来大雪纷飞HTML版&#xff0c;不需要任何的环境&#xff0c;只要有一个浏览器&#xff0c;就可以随时随地下一场大雪哦&#xff01; HTM…...

问界新M7 Ultra仅售28.98万元起,上市即交付

5月31日&#xff0c;问界新M7 Ultra正式上市。发布会上&#xff0c;鸿蒙智行旗下多款产品交出最新答卷——问界新M5上市1个月大定突破2万台&#xff1b;智界S7位列30万纯电轿车4月交付量NO.3&#xff1b;问界M9上市5个月大定突破9万台。其中&#xff0c;作为中国高端豪华SUV市场…...

【Java数据结构】详解LinkedList与链表(四)

&#x1f512;文章目录&#xff1a; 1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; 2.什么是LinkedList 3.LinkedList的使用 3.1LinkedList的构造方法 3.2LinkedList的其他常用方法介绍 addAll方法 subList方法 LinkedList的常用方法总使…...

ssm汉服文化平台网站

博主介绍&#xff1a;✌程序员徐师兄、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…...

如何让 LightRoom 每次导入照片后不自动弹出 SD 卡 LR

如何让 LightRoom 每次导入照片后不自动弹出 SD 卡 LR 在导入窗口左上角有个选项&#xff1a; 导入后弹出 把这个去掉就可以了...

elasticdump和ESM

逐个执行如下命令&#xff1b; 1.拷贝analyzer如分词&#xff08;需要分词器&#xff0c;可能不成功&#xff0c;不影响复制&#xff09; ./elasticdump --inputhttp://[来源IP地址]:9200/[来源索引] --outputhttp://[目标IP地址]:9200/[目标索引] --typeanalyzer 2.拷贝映射…...

Java扩展机制:SPI与Spring.factories详解

一、SPI SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。 整体机制图如下: Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制。 系统设计的各个抽象,往往有很多不…...

iPhone 语言编程:深入探索与无限可能

iPhone 语言编程&#xff1a;深入探索与无限可能 在数字化时代的浪潮中&#xff0c;iPhone 作为一款全球领先的智能手机&#xff0c;其语言编程的奥秘一直吸引着众多开发者与爱好者的目光。iPhone 的语言编程不仅关乎技术实现&#xff0c;更涉及到用户体验、创新应用等多个层面…...

css动态导航栏鼠标悬停特效

charset "utf-8"; /*科e互联特效基本框架CSS*/ body, ul, dl, dd, dt, ol, li, p, h1, h2, h3, h4, h5, h6, textarea, form, select, fieldset, table, td, div, input {margin:0;padding:0;-webkit-text-size-adjust: none} h1, h2, h3, h4, h5, h6{font-size:12px…...

Vue中使用axios先获取头像上传参数然后上传图片到服务器-demo

这是一个使用axios发送POST请求上传图片到AWS S3的代码。其中&#xff1a; 引入了axios、FormData和fs模块&#xff1b;创建FormData实例&#xff0c;向其中添加上传图片的相关信息&#xff1b;创建axios请求的配置对象config&#xff0c;包含url、method、headers和data等属性…...

Win11环境下Android Studio中Flutter开发环境构建(逐步解决)

flutter开发环境构建 1. Flutter开发环境搭建1.1 Android Studio1.2 flutter下载flutter设置环境变量增加国内镜像 1.3 flutter doctorAndroid toolchain&#xff1a;cmdline-tools component is missingAndroid toolchain&#xff1a;Some Android licenses not acceptedChrom…...

Thread Servlet思考

在开发过程中我们经常会遇到两个对象分别是Thread和Servlet。但是很少会考虑到两者之前的关系。 Thread是线程&#xff0c;在tomcat服务器中请求被接收后&#xff0c;会启动线程对请求进行处理。线程会通过run方法执行实际执行的业务逻辑。在tomcat中当请求请求到线程池后&…...

电源滤波器怎么选用

电源滤波器怎么选用 滤波器应用场景及作用第一步&#xff1a;第二步&#xff1a;第三步&#xff1a;第四步&#xff1a; 滤波器应用场景及作用 可以有效解决EMC测试无法通过、端口防护、滤除干扰、设备保护等问题 主要功能有: 1、降低主电源谐波; 2、保护驱动装置电力电子元件…...

终于更新了!时隔一年niushop多商户b2b2c的新补丁v5.0.2终于发布了,一起看看有啥新变化

注意这是最新版的V5.02_多商户V5.0.2版本更新说明 瞧瞧更新了什么内容&#xff0c; 优化功能 优化手机号、身份证等常用验证规则&#xff0c;全局化处理优化商品列表接口查询速度 修复功能修复系统内部分图片上传功能调用接口跨端口问题修复总后台和商家后台订单管理搜索标签在…...

google的chromedriver最新版下载地址

Chrome for Testing availability (googlechromelabs.github.io) 复制对应的地址跳转进去即可下载&#xff0c;下载前先看下自己google浏览器版本&#xff0c;找到对应的版本号去下载&#xff0c;把解压缩的exe放到google浏览器目录下。...

Gitee的原理及应用详解(四)

本系列文章简介&#xff1a; Gitee是一款开源的代码托管平台&#xff0c;是国内最大的代码托管平台之一。它基于Git版本控制系统&#xff0c;提供了代码托管、项目管理、协作开发、代码审查等功能&#xff0c;方便团队协作和项目管理。Gitee的出现&#xff0c;在国内的开发者社…...

IP 协议的相关特性

目录 正文&#xff1a; 1.概述 2.协议头的格式 3.地址管理 3.1网段划分 3.2特殊的IP地址 3.3 IPv4的限制和解决办法 4.路由选择 总结&#xff1a; 正文&#xff1a; 1.概述 IP 协议是一个网络层协议&#xff0c;负责在不同网络之间传输数据包。它定义了数据包的格式…...

C++11 在 Windows 环境下的多线程编程指南

引言 随着多核处理器的普及&#xff0c;利用多线程编程来提升应用程序性能变得越来越重要。C11 标准库引入了一系列用于多线程编程的API&#xff0c;使得多线程编程变得更加简洁和高效。 一、基本概念 在开始编写多线程代码之前&#xff0c;了解一些基本概念是非常重要的&am…...

[数据集][目标检测]旋风检测数据集VOC+YOLO格式157张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;159 标注数量(xml文件个数)&#xff1a;159 标注数量(txt文件个数)&#xff1a;159 标注类别…...

智慧商砼搅拌车安监运营管理的创新实践

随着城市化进程的加速&#xff0c;商砼搅拌车作为城市建设的重要设备&#xff0c;其安全管理与运营效率直接关系到工程质量和施工进度。近年来&#xff0c;通过引入先进的4G无线视频智能车载终端套件&#xff0c;我们实现了对商砼搅拌车的高精度定位、实时音视频调度、实时油量…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如&#xff0c;已知表达式3*52&#xff0c;依照子表达式的求值顺序&#xff0c;有两种可能的结果&#xff0c;如图9-3所示。 如果乘法先执行&#xff0c;结果是17。如果5…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...