首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在HTML5,Css3和Vanilla js中实现三个图形的动态化?

要在HTML5、CSS3和Vanilla JS中实现三个图形的动态化,你可以按照以下步骤进行:

1. HTML结构

首先,创建一个基本的HTML结构,包含三个图形元素。

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Dynamic Shapes</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="shape" id="shape1"></div>
    <div class="shape" id="shape2"></div>
    <div class="shape" id="shape3"></div>
    <script src="script.js"></script>
</body>
</html>

2. CSS样式

使用CSS3来定义图形的样式和动画效果。

代码语言:txt
复制
/* styles.css */
body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
    background-color: #f0f0f0;
}

.shape {
    width: 100px;
    height: 100px;
    margin: 10px;
    border-radius: 10px;
    background-color: #3498db;
    animation: moveShape 3s infinite alternate;
}

#shape1 {
    background-color: #e74c3c;
}

#shape2 {
    background-color: #2ecc71;
}

#shape3 {
    background-color: #f1c40f;
}

@keyframes moveShape {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(20px);
    }
}

3. JavaScript动态化

使用Vanilla JS来动态改变图形的属性,例如颜色、大小和动画速度。

代码语言:txt
复制
// script.js
document.addEventListener('DOMContentLoaded', () => {
    const shapes = document.querySelectorAll('.shape');

    shapes.forEach(shape => {
        shape.addEventListener('mouseover', () => {
            shape.style.backgroundColor = getRandomColor();
            shape.style.animationDuration = `${Math.random() * 3 + 1}s`;
        });

        shape.addEventListener('click', () => {
            const newSize = Math.floor(Math.random() * 50) + 50;
            shape.style.width = `${newSize}px`;
            shape.style.height = `${newSize}px`;
        });
    });

    function getRandomColor() {
        const letters = '0123456789ABCDEF';
        let color = '#';
        for (let i = 0; i < 6; i++) {
            color += letters[Math.floor(Math.random() * 16)];
        }
        return color;
    }
});

解释

  1. HTML结构:创建了三个div元素,每个元素代表一个图形。
  2. CSS样式:定义了图形的初始样式和动画效果。使用@keyframes定义了一个简单的上下移动动画。
  3. JavaScript动态化
    • 当鼠标悬停在图形上时,改变图形的背景颜色和动画速度。
    • 当点击图形时,改变图形的大小。

应用场景

这种动态化的图形可以用于各种网页设计,例如:

  • 数据可视化
  • 用户交互界面
  • 动态背景效果

参考链接

通过这种方式,你可以轻松实现图形的动态化,并且可以根据需要进一步扩展和定制。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 前端文章收藏

    HTML 标签属性 HTML标签大全 手机页面的一些有用meta 前端 Meta 用法大汇总 标签语意 选择合适块级HTML标签流程图 Web标准(Standard) HTML Living...Standard-WHATWG WHATWG维护持续更新HTML标准 W3C规范 W3C规范翻译 HTML5文小组翻译。...CSS基本图形路径 字体 CSS 字体介绍 Typography CSS:7个你可能不认识单位 vmin, vmax, ex ch 这些单位大家都知道吗~ 单位 长度单位 CSS强大...文字围绕形状 如何在Web中使用CSS Shapes CSS Exclusions:让布局变得更有意思 网格布局(Grid Layout) 通过漫画阐述CSS网格布局 更多 响应式布局 探讨判断横竖屏最佳实现...Browserhacks 各种Brower hacks(只对特定浏览器生效代码写法)。 HTML 5 Please HTML5CSS3 技术应用评估。

    1.5K21

    HTML5CSS3JavaScript基础知识以及从入门到精通学习路径

    HTML5提供了结构语义页面标记,CSS3负责页面的样式布局,而JavaScript则为页面添加交互性动态效果。掌握这三种技术基础知识是成为一名优秀前端开发人员关键。...二、HTML5基础知识 标签语义:学习者需要了解HTML5基本标签,、、等,以及语义标签、、等用法,以提高页面的结构可读性...三、CSS3基础知识 选择器盒模型:学习者需要掌握CSS3各种选择器用法,元素选择器、类选择器、ID选择器等,并了解盒模型概念属性,以实现页面的样式布局。...过渡动画:学习者可以学习CSS3过渡动画特性,transitionanimation属性,以实现页面元素平滑过渡动态效果。...条件语句循环:学习者可以学习JavaScript条件语句(if、else)循环语句(for、while),以实现根据条件执行不同代码块重复执行某段代码功能。

    41730

    前端-10款web动画插件

    今天给大家带来了十款web前端动画插件,大家收藏了记得给个小心心哦 1.基于jQuery瀑布流图片筛选插件 瀑布流展现方式在目前网页中用得越来越广泛,特别是图片首页文章动态加载。...2.基于Layui可自定义添加删除数据表格处理插件 如何在网页上编辑表格数据,这通过自己编写JSCSS实现都是比较麻烦,jQuery有很多插件可以完成这种功能,比如这款jQuery简易版Excel...3.HTML5 Canvas模拟飞机航班线路动画 我们在网页可以通过HTML5Canvas画板绘制很多图形,甚至做许多动画特效,你可以在我们HTML5 Canvas栏目中找到这些动画。...4.纯CSS3开关样式自定义单选框 之前我们分享过很多非常实用自定义单选框复选框插件,大部分都是通过CSS3实现,比如这款CSS3漂亮自定义Checkbox复选框; 也有些是基于jQuery,...7.HTML5/CSS3超链接图片弹出动画 今天给大家分享一个基于HTML5CSS3超链接动画,这个HTML5应用还是比较实用,它可以让你在鼠标滑过超链接时弹出图片,就像弹出tooltip那样动画效果

    5.9K50

    HTML5简介,CS与BS架构

    三维、图形及特效特性(Class: 3D, Graphics & Effects) 基于SVG、Canvas、WebGL及CSS33D功能,用户会惊叹于在浏览器,所呈现惊人视觉效果。...Web应用网站在多样环境更快速工作。...CSS3特性(Class: CSS3) 在不牺牲性能语义结构前提下,CSS3提供了更多风格更强效果。...随着引擎V8框架Node.js发展,及其事件驱动及异步IO等特性,JavaScript逐渐被用来编写服务器端程序。...与服务器建立连接后,浏览器首先从服务器上下载是HTML代码,浏览器会解析这些标记代码形成网页结构,在解析过程中会下载页面素材JS&CSS代码,一般用户计算机上会有一个本地缓存,一些素材音频文件会缓存到本地缓存

    2.3K10

    几个小处理提高前端性能

    适当定高,例如如果div内容可能有高度差异动态内容载入。什么意思?例如右上角个人用户信息是页面渲染完毕之后动态载入。...现代浏览器可以渐进使用CSS3 transition实现动画效果,比改变像素值来高性能。 不使用iframe,据说开销最大DOM元素。...CSS图形生成,三角: CSS模拟,几像素投影效果 CSS3技术,例如渐变效果CSS3 gradient+filter。投影效果CSS3 box-shadow+filter blur。...复杂事件侦听与初始(鼠标移动或键入到该区域才初始复杂事件)。...其他N多JS编写细节等 六、浏览器自身潜力 ol列表数字、table自适应性 粗体效果 form相关特性,元素自身特性实现submit以及reset等效果 HTML5

    1.2K20

    awesome-javascript-cn

    官网 nightwatch:基于 node.js  selenium webdriver 图形界面自动测试框架。官网 intern:下一代 JavaScript 代码测试栈。...官网 paper.js:是矢量图形脚本瑞士军刀 —— 使用 HTML5 Canvas 将 Scriptographer  移植到 JavaScript 官网浏览器。...官网 sigma.js:一个致力于图形绘画 JavaScript 库。官网 arbor:一个使用 web workers jQuery 图形可视库。...官网 processing.js:Processing.js 基于 Web 标准使数据可视,而无需任何插件。官网 envisionjs:动态 HTML5 可视。...官网 vanilla-masker:一个纯 JavaScript 实现输入控制库。官网 Ion.CheckRadio:一个为复选框单选按钮添加样式 jQuery 库,支持多种皮肤。

    10.7K80

    一些最好用数据可视化工具

    Springy Springy是一个使用JavaScirpt实现以力导向有向图布局算法,使用了真实世界一些物理原理,你可以随意拖动图表元素;Springy.js小且简单,提供一个抽象图表操作以及计算版面配置.../功能丰富API;支持建构简单图形,:长方形/圆形/椭圆等,有了特定功能以及为了能客制图形路径函数,针对不同形状做颜色/梯度变化率以及漏斗型筛选灰阶/透明度等应用 Google Charts...谷歌图表库工具,提供了非常多可使用图表类型,功能强大,支持HTML5生成SVG图表,简单易用,而且免费;图表风格很多,其交互效果也很漂亮;对于专业视觉画图表地理图/动态压力图等,是十分好用工具...是一个动态HTML5可视图表,用来简化创造快速又具有互动性HTML5视觉图像;它有两种不同图表类型:财务型时间序列资料以及专为开发者所用API以建立客制图表;它采用framework-agnostic...提供了以下不同呈现方式:时间轴/日历/柱状图/表格等 Paper.js Paper.js是一个开源使用HTML5 Canvas输出JS图表库,对于初学者来说它是很容易学习,其中也有许多专业面向可以提供阶及高阶使用者

    3.2K50

    12.HTML5下一代HTML标准介绍与初识尝试

    HTML5引入了许多新特性,以下是其中一些主要新特性: 1.语义标签:HTML5引入了一些新语义标签,、、、、等...3.画布:HTML5标签可以在网页上绘制图形、动画游戏,提供了更强大绘图功能。...9.CSS3支持:虽然CSS3并非HTML5一部分,但HTML5普及也促使了CSS3应用,CSS3提供了更多样式选择器、动画效果布局功能,可以让网页更加美观交互。...3.掌握HTML5新增元素特性:HTML5引入了一些新元素特性,语义标签(、、),多媒体标签(、),表单增强(<input...学习这些新元素特性,可以使你网页更加现代和丰富。 4.学习JavaScript:HTML5JavaScript紧密结合,JavaScript可以为网页添加交互动态效果。

    32220

    月入35k大佬总结:web前端必须学习内容(附全套前端教程)

    根据对100家互联网名企对Web开发工程师招聘要求分析,企业要求主要有两部分,一个是核心要求,一个是辅助要求,核心要求包括:语言技术:JS基础核心/HTML5/CSS3、框架技术:JQuery、AJAX...相对于传统HTML表现而言其样式是可以复用,这样就极大地提高了我们开发速度,降低了维护成本。 同时CSS盒子模型、相对布局、绝对布局等能够实现对网页各对象位置排版进行像素级精确控制。...为了完成这个任务,我们进入第三个阶段——JavaScript学习 JavaScript是一种在客户端广泛使用脚步语言,在JavaScript当中为我们提供了一些内置函数、对象DOM操作,借助这些内容我们可以来实现一些客户端特效...jQuery插件可供选择,这样在我们实现一些丰富动态效果时更方便快捷,大大节省了我们开发时间,提高了开发速度,这也充分体现了其 write less,do more核心宗旨。...与 AJAX 第一个阶段:HTML5+CSS3:最新版Html5+Css3由浅入深教程 HTML5:浏览器与浏览器内核、语法及使用、常用标签、语义、表单元素、HTML5 新增标签 CSS3:基本语法规范

    2.3K40

    程序员必备狂拽炫酷吊炸天动效神器

    该插件通过配置几组不同颜色方案,使指定元素在这些颜色执行平滑渐变色过渡效果。 # micron 可生成炫酷CSS3动画js动画库插件。...通过micron.js插件,你可以为页面的任意DOM元素添加12种炫酷CSS3动画效果。并能通过js代码或html5 data属性来串联各种CSS3动画效果。...# blotter.js 神奇动效 # progressbar 借助动态 SVG 路径漂亮,响应式进度条效果 可以很容易地创建任意形状进度条。...这个 JavaScript 库提供线条,圆形方形等几个内置形状 # Second-Hamburger-Helper 别样舒适感 # hamburgers 一款效果超酷图标变形动画特效CSS3...内置动画引擎来使SVG元素path元素产生动画 底层实现使用是stroke-dasharraystroke-dashoffset属性 适用于矢量元素,借此创建出独特视觉效果 轻量级,压缩后小于

    2.9K12

    一份来自前端开发工程师规范简历

    熟练掌握HTML5技术开发,熟悉响应式布局弹性盒布局,百分比自适应布局,熟练掌握CSS3动画技术,且能熟练应用Animate.css动画库。...3.负责移动产品HTML5CSS3编写,解决web端移动端适配问题等。 4.实现产品UI交互方面的开发需求,确保产品具有优质用户使用体验。...责任描述:此项目为团队项目,本人主要负责手机端页面布局登录注册实现 主要技术: 1.HTML5语义标签+CSS3技术 2.jQuery原生javascript技术完成动态效果 3.利用iScroll.js...责任描述:(团队项目) 1.根据用户需求说明书,与产品部对项目进行功能分析策划 2.网站前端页面制作.优化.以及JS互动效果实现 3.调试网站页面的不同兼容问题 4.制作优化页面的代码,并增加交互动态功能...; 3.负责移动产品HTML5CSS3编写,AJAX数据交互,解决移动端适配问题; 4.实现产品UI交互方面的开发需求,确保产品具有优质用户使用体验。

    2.8K40

    响应式web设计 转

    aspect-ratio 视口宽高比,16/9   device-aspect-ratio 屏幕宽高比   color 每种颜色位数,16   color-index 设备颜色索引表颜色数...acronym frame frameset  html5全新语义元素:   元素用来定义文档或应用程序区域或节   元素用来定义文档主导航区域 ...html5文本级语义元素:   、强调内容重点、  遵循WAI-ARIA无障碍网页应用技术实现无障碍站点,让残障人士也能无障碍访问网页上动态内容。   ...   私有前缀   http://leaverou.github.com/prefixfree/   当前浏览器对特定CSS3html5特性支持程度:  http://caniuse.com ...渐进增强:恪守Web标准标签,在此基础上通过css样式js来为更先进浏览器提供渐进式增强。

    3.6K10

    推荐30款最佳数据可视化工具

    Lefalet设计坚持简便、高性能可用性好思想,在所有主要桌面移动平台能高效运作,在现代浏览器上会利用HTML5CSS3优势,同时也支持旧浏览器访问。...16.Envision.js Envision.js 是个基于 Flotr2 HTML5JavaScript库,用来简化、快速创建交互式 HTML5 可视图表。...Axiis在设计上非常强调代码优雅,可以让你代码像输出图形一样美观。Axiis既提供了开箱即用可视组件,也提供了抽象布局模式渲染类,可实现自定义可视。 ?...23.Protvis Protovis是一个使用JavaScript Canvas元素实现可视组件。开发者可以利用简单标记线条圆点+数据来绘制自定义图表。 ?...29.Paper.js Paper.js 是一个开源向量图形脚本框架,基于HTML5 Canvas开发。提供清晰场景图、DOM大量强大功能用来创建各种向量图贝塞尔曲线。 ?

    9.2K50

    坦克大战重燃战火!手把手教你用JavaScript打造经典游戏

    借助HTML5CSS3JavaScript,开发者们能够创造出丰富Web应用游戏,使得在浏览器上也能享受游戏乐趣。...而现在,我们通过Web技术,可以把这一记忆经典游戏带到浏览器里。HTML5 Canvas:作为绘制图形利器,Canvas提供了一个像素级绘图环境,可以用来绘制我们游戏中坦克地图。...">实战编码:一步步实现坦克大战编写主游戏逻辑在main.js,我们将实现游戏主要逻辑。...子弹射击功能:允许玩家和敌人发射子弹,这样可以增强游戏交互性挑战性。音效音乐:为射击、爆炸等事件添加音效或背景音乐,增加游戏沉浸感。敌人AI:实现敌人AI,让他们可以自动地移动射击。...结语:重燃战火未来展望在本文中,我们从零开始,使用HTML5CSS3JavaScript构建了一个基础版本“坦克大战”游戏。虽然它简单,但已经展示了一个经典重燃战火。

    16610
    领券