vue下雪背景效果(sass实现)

2 篇文章 0 订阅

下雪效果一般使用canvas或sass实现,各有优缺点
canvas:雪花大小、位置、路线、速度更加随机,耗内存
sass:每一片雪花雪花大小、位置、路线、速度初始化后不会变、效果流畅丝毫不会卡
显然sass做法性价比更高

效果图

在这里插入图片描述

安装sass


npm i sass --save
npm i sass-loader --save

代码实现


<div v-for="item of 500" :key="item" class="snowflake"></div>

<style lang="scss">
	body {
		background-color: black;
	}

	.snowflake {
		--size: 1vw;
		width: var(--size);
		height: var(--size);
		background: url(./snow.png) no-repeat; //雪花图片 也可以画圆
		background-size: 100% 100%;
		position: fixed;
		top: -5vh; //出事高度在屏幕外 效果更真实
		z-index: -10; //背景图层不遮挡上面元素
	}

	@keyframes snowfall {
		100% {
			transform: translate3d(var(--end), 100vh, 0);
		}
	}

	@for $i from 0 through 500 {
		.snowflake:nth-child(#{$i}) {
			//每个雪花的大小
			--size: #{random(6) * 0.08}vw;
			//雪花移动目标点 -70后是负数 这样雪花会向左下方飘落 
			--end: #{random(20) - 70}vw;
			//雪花初始位置 
			left: #{random(150)}vw;
			//雪花从顶到底移动的动画 动画时间可以调整雪花速度
			animation: snowfall #{5 + random(8)}s linear infinite;
			animation-delay: -#{random(10)}s;
		}
	}

</style>

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
Vue3 Vite TS Sass是指在Vue3项目中使用Vite构建工具,同时使用TypeScript和Sass预处理器来编写样式。以下是相关步骤: 1. 首先,你需要在项目中安装Vite和Vue3的依赖。你可以使用以下命令进行安装: ``` npm install -g create-vite create-vite your-project-name --template vue-ts cd your-project-name npm install ``` 2. 接下来,你需要在项目的根目录中新建一个`.scss`文件,比如`variable.scss`,并在其中定义你想要的样式变量。 3. 然后,在`vite.config.ts`文件中配置Sass预处理器。你可以使用以下代码片段进行配置: ```javascript import { defineConfig } from 'vite' export default defineConfig({ css: { preprocessorOptions: { scss: { additionalData: `@import "@/path/to/your/variable.scss";`, }, }, }, }) ``` 4. 最后,在你的Vue组件中引入Sass文件。你可以在`main.ts`文件中添加以下代码来引入全局的Sass样式: ```javascript import '@/path/to/your/variable.scss' ``` 这样,你就可以在Vue3项目中使用Vite、TypeScript和Sass来编写样式了。记住,确保你已经安装了相应的依赖,并正确配置了预处理器选项和文件路径。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [vue3ts安装sass(scss)](https://blog.csdn.net/xuelang532777032/article/details/131120918)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [vue3+vite+ts+elementPlus+sass 项目搭建](https://blog.csdn.net/qq_42092177/article/details/124122429)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bug的搬运工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值