自定义CSS属性(@property)解决自定义CSS变量无法实现过渡效果的问题

且看下面的代码:

html 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>demot</title>
  </head>
  <body>
    <div class="demoBox"></div>
  </body>
  <style>
    :root {
      --height: 100px;
    }
    @property --width {
      syntax: "<length>";
      inherits: false;
      initial-value: 100px;
    }
    .demoBox {
      width: var(--width);
      height: var(--height);
      background-image: linear-gradient(45deg, red, blue);
      animation: run 2s infinite alternate;
      transition: all 1s;
    }
    @keyframes run {
      from {
        --width: 100px;
        --height: 100px;
      }
      to {
        --width: 200px;
        --height: 200px;
      }
    }
  </style>
</html>

在上面的代码中,通过自定义属性的--width能够在100px到200px中实现过渡效果;自定义变量--height只能在100px与200px中进行切换,如下所示

相关推荐
Swift社区4 分钟前
React 项目生产环境构建与静态资源优化
前端·react.js·前端框架
A小码哥17 分钟前
基于 Trae + 国产 GLM-4.7模型的任务驱动式软件开发实践
前端
上海合宙LuatOS17 分钟前
LuatOS核心库API——【fft 】 快速傅里叶变换
java·前端·人工智能·单片机·嵌入式硬件·物联网·机器学习
瑶瑶领先_17 分钟前
react - isValidElement 判断参数是否是一个有效的ReactElement
前端
瑶瑶领先_23 分钟前
js 数字精确度
前端
瑶瑶领先_26 分钟前
图片标签拖拽 && url、base64、Blob、File、canvas之间相互转换
前端
感性的程序员小王43 分钟前
我做了个 AI + 实时协作 的 draw.io,免费开源!!
前端·后端
_周游1 小时前
Java8 API文档搜索引擎_7.项目优化之权重合并
java·开发语言·前端·搜索引擎·intellij-idea
木斯佳1 小时前
前端八股文面经大全:2026-02-09快手春招前端一面
前端·状态模式
闲云一鹤1 小时前
UV 包管理器 - 新一代的 Python 包和环境管理神器
前端·python