前端2D、3D

一、百度浏览器小熊案例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			body{
				background-color: skyblue;
				margin: 0;
				border: 0;
			}
			
			.bear{
				position: absolute;
				top: 220px;
				width: 200px;
				height: 100px;
				background: url(img/bear.png) no-repeat;
				animation: bear 1s steps(8) infinite,move 3s forwards;
			}
			.mountain{
				width: 3840px;
				height: 336px;
				background: url(img/mountain.png) no-repeat;
				animation: mountain 40s linear infinite;
			}
			@keyframes mountain{
				0%{
					background-position: 0 0;
				}
				100%{
					background-position: -2300px 0;
				}
			}
			@keyframes bear{
				0%{
					background-position: 0 0;
				}
				100%{
					background-position: -1600px 0;
				}
			}
			@keyframes move{
				0%{
					left:0;
				}
				100%{
					left: 50%;
					/*margin-left: -100px;*/
					transform: translateX(-50%);
				}
			}
		</style>
	</head>
	<body>
		<div class="mountain">
			<div class="bear">
			
		    </div>
		</div>
		
	</body>
</html>

1、动画使用:定义动画@keyframes name{
0%{开始状态}100%{结束状态}
}
,然后通过animation:name调用动画
linear是匀速,infinite是循环播放,backwords是播放完再倒回去,forwards是播放完直接回到开头
2、子绝父相:父盒子position:relative;子盒子position:absolute;
3、transform-origin:可以定义旋转的中心点
transform: translate(50px,50px);可以定义平移
transform:rotate(deg)可以定义旋转的角度
transition: all 0.3s;可以定义过渡时间过渡写到本身上,谁做动画给谁加
二、3D旋转:
1、transform-style: preserve-3d;/* 让子元素保持3d立体空间环境 /,必须写在做动画盒子的父盒子上
perspective: 500px;透视;必须写在做动画盒子的父盒子上
2、/
如果有移动和其他transform样式,一定先写移动 */
例如 transform: translateY(17.5px);
transform: rotateX(-90deg);
三、C3选择器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

### 前端 2D 图形管道实现技术 在前端开发领域,2D图形的绘制和处理可以通过多种技术和框架来完成。以下是几种常见的方法和技术: #### 使用 WebGPU 进行高效渲染 WebGPU 是一种现代的低级 API,用于高性能的 GPU 渲染和计算。它允许开发者直接控制图形管道中的各个阶段,从而优化性能并提供更复杂的视觉效果。对于 2D 图形而言,虽然其主要目标是服务于 3D 应用程序,但也可以利用其中的一些特性来进行高效的 2D 绘制操作。 - **图形管道结构**: 在 WebGPU 中,图形管道由多个可编程阶段组成,例如顶点着色器 (Vertex Shader) 和片段着色器 (Fragment Shader),以及一些固定的硬件加速过程如光栅化 (Rasterization)[^1]。 - **管线描述符的作用**: 开发者可以借助管线描述符对象定义整个渲染流程的具体参数设置,比如指定使用的着色器模块、输入布局、混合模式以及其他重要的状态选项。 #### 利用第三方库简化复杂度 除了底层标准外,还有许多优秀的开源项目提供了更高层次的功能封装,使得构建交互式的二维界面变得更加容易上手。 ##### Hightopo 的 HT-2D 编辑器实例展示 Hightopo 提供了一个在线演示平台展示了如何快速搭建基于矢量图标的拖拽式 UI 设计环境[^2]。该工具内置了大量的预设组件样式可供选择,并且能够导出兼容主流浏览器的标准 HTML/CSS/SVG 文件格式。 ##### Sovit2D 可视化解决方案介绍 另一个值得关注的选择就是 Sovit2D —— 它是一款专注于工业自动化领域的专业级前端组态软件包[^4]。凭借详尽完善的文档体系和支持团队的帮助,即使是初学者也能迅速掌握基本的操作技巧;而对于高级用户来说,则有更多的自由去定制专属的工作流或者扩展额外的能力范围。 ##### 自定义图形资源管理方案——以乐吾乐为例说明 如果现有素材无法满足特定需求的话,“乐吾乐”这样的产品或许能成为不错的新方向之一[^3]。它们不仅拥有丰富的分类目录便于查找匹配项,而且开放接口让用户自行上传私有资产作为补充来源。更重要的是,这些服务通常还会附带详细的教程指南帮助客户更好地理解和运用相关内容。 ```javascript // 示例代码:创建简单的 Canvas 元素并画线 const canvas = document.createElement('canvas'); document.body.appendChild(canvas); const ctx = canvas.getContext('2d'); ctx.beginPath(); ctx.moveTo(0, 0); // 起始坐标 ctx.lineTo(200, 150); // 结束坐标 ctx.stroke(); // 执行绘图命令 ``` 上述脚本片段简单介绍了通过 JavaScript 访问 DOM 对象 `Canvas` 来执行基础绘画任务的方式。尽管这种方法灵活性较高,但对于大型应用可能显得效率低下甚至难以维护,因此推荐考虑引入专门设计过的类库辅助解决问题。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值