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

伊犁北京网站建设广东省白云区

伊犁北京网站建设,广东省白云区,购物网站开发的目的意义,公司网站建设公司提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目的一、举个栗子二、性能分析1.从图层分析2.性能分析 总结 目的 为了探究使用动画时,『transform』和『width、height、margin等』的差异 一、举个栗子…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 目的
  • 一、举个栗子
  • 二、性能分析
    • 1.从图层分析
    • 2.性能分析
  • 总结


目的

为了探究使用动画时,『transform』和『width、height、margin等』的差异


一、举个栗子

示例代码:使用width、height & 使用transform的scale缩放

<template><div class="container"><div class="content"><div :class="['box', { 'isCurrent': item === current }]" v-for="item in 10">{{ item }}</div></div><div class="content"><div :class="['box', { 'isBCurrent': item === bCurrent }]" v-for="item in 10">{{ item }}</div></div><div class="btn-box"><button @click="toScroll">宽高启动</button><button @click="toBScroll" style="margin:0 10px;">缩放启动</button></div></div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
let current = ref(0)
const toScroll = () => {let timer = setIntervalÏ(() => {if (current.value < 11) {current.value++} else {clearInterval(timer)current.value = 0}}, 500)
}let bCurrent = ref(0)
const toBScroll = () => {let timer = setInterval(() => {if (bCurrent.value < 11) {bCurrent.value++} else {clearInterval(timer)bCurrent.value = 0}}, 500)
}</script>
<style lang="scss">
.container {.content {display: flex;justify-content: center;align-items: center;height: 100px;.box {display: flex;justify-content: center;align-items: center;width: 50px;height: 50px;margin: 50px;}.isCurrent {width: 100px;height: 100px;transition: all 10s ease;background-color: red;}.isBCurrent {transform: scale(2);transition: all 10s ease;background-color: blue;}}.btn-box {display: flex;justify-content: flex-end;}
}
</style>

二、性能分析

1.从图层分析

下面是从图层的绘制次数可清楚看到区别:
在这里插入图片描述
在这里插入图片描述
从图层的角度来看,使用CSS的transition属性来改变元素的宽高与直接改变元素的宽高(不使用transition)有以下区别:

  1. 图层动画与重绘:
    ○ 使用transition的动画效果可以触发硬件加速(在支持的浏览器上),将动画过程中的元素提升到一个单独的复合图层(compositing layer)。这意味着浏览器可以使用GPU加速动画的渲染,从而提高性能。
    ○ 直接改变宽高,尤其是在没有使用transition的情况下,可能会导致频繁的重绘(repaint)和重排(reflow)。每次元素的尺寸改变,浏览器都必须重新计算元素的几何位置和其余页面布局,然后重新绘制影响的部分,这可能导致性能问题。
  2. 渲染管线:
    ○ 使用transition时,浏览器可以优化渲染管线,预先知道会有一个持续的变化,因此可以更好地调度资源和时间。
    ○ 没有transition的直接宽高调整,则是立即生效的,浏览器需要即时处理这些变更,没有过渡效果,可能导致用户体验不够平滑。
  3. 图层创建与管理:
    ○ transition动画在进行时,如果触发了图层的创建,那么在动画结束后,浏览器可能会将该图层合并回主图层以节省资源,这个过程是自动且对用户透明的。
    ○ 直接改变宽高,不涉及图层的额外管理,也就没有额外的图层优化机会。
  4. 渲染后的页面复杂性:
    ○ 使用transition可能会临时增加页面的复杂性,因为它添加了动态变化的图层。但这通常是短暂的,并且在动画结束后,页面可能会恢复到较少的图层。
    ○ 直接改变宽高对页面的图层复杂性影响较小,因为它不会引入额外的动态变化。

2.性能分析

性能分析总耗时:

性能比较
在这里插入图片描述

总结

优先使用transform,而不是使用width&height

推荐文章: https://mp.weixin.qq.com/s?__biz=Mzk0NTI2NDgxNQ==&mid=2247484939&idx=1&sn=229467c549cec5e3980671f488a4d89e&chksm=c31947cbf46ecedd13f930b44e9bc2a25ce706a8d30fce56c54584598015640338a6e075b8ff#rd

http://www.khdw.cn/news/21611.html

相关文章:

  • 做断桥铝门窗网站2022最新小学生新闻
  • 深圳专业商城网站制作公司济南网络营销外包
  • 黄山网站建设电话株洲发布最新通告
  • python做网站前端百度网站认证
  • 做网站建设哪家公司靠谱电商网站建设价格
  • ruby 做网站湖北网络推广公司
  • 新丝路网站建设有什么好用的搜索引擎
  • 030159网站建设与维护今晚日本比分预测
  • 个人做什么类型网站免费网页代码大全
  • 做代购网站的纳税怎么做网络营销
  • 网站 栏目做下拉列举五种网络营销模式
  • 求个网站2022怎么做好网站营销推广
  • 大型网站开发什么书籍好360站长
  • web网站开发培训海口做网站的公司
  • 单机网页游戏网站网络营销案例100例
  • 青岛网站建设谁家好一些常州网站建设书生商友
  • 大型html5浅蓝色网站设计公司dede模板块链友情链接平台
  • 迈若网站建设厦门网页搜索排名提升
  • 开发网站服务器外链推广软件
  • 网站 建设需求淘宝运营培训班去哪里学
  • 东莞企业营销型网站建设免费的推广引流软件
  • 龙华区城市建设局网站seo外推
  • 自己制作网站的步骤怎么让百度收录自己的网站
  • 网站开发与软件开发的异同故事式软文范例100字
  • 搜索优化整站优化如何制作自己的网页
  • 金融企业类网站模板免费下载注册百度推广账号
  • 网站建设风险评估电商中seo是什么意思
  • 自己做网站花钱么网络营销公司网络推广
  • 我的世界怎么做的好看视频网站中国广告网
  • 福州网站建设设计seo资料网