html - 在 CSS 旋转函数中使用 CSS 变量

标签 html css variables svg

我正在开发雪人的 SVG 图像,并尝试使用变量来确定特定的事物。帽子上带子的颜色和围巾的颜色通过var(--maincolor)成功设置。我遇到的问题是 var(--armangle)

<path d="..." stroke="#442200" stroke-width="2" fill="none" transform="rotate(var(--armangle))" transform-origin="32.5% 60%"/>

为什么不被接受?

我已经尝试过:

svg{
  --armangle: 20deg;
}

svg{
  --armangle: 20;
}

但两者都不起作用。

有没有办法在 CSS 的函数中使用变量?正常值(没有 deg)效果很好(deg 只是被忽略)。

最佳答案

您应该使用属性或 CSS 来设置样式。

正如您从两个示例中看到的,样式可以定义为 SVG 的一部分,也可以定义在单独的样式表中。

使用 CSS 变量/值时需要指定度数(例如 20deg)。

:root {
  --armangle: 20deg;
}
<svg viewBox="0 0 3 3" width="200" height="200">
  <style>
    path {
      transform: rotate(var(--armangle));
    }
  </style>
  <path d="M 0 0 L 0 1 L 1 1 L 1 0 Z" stroke="#442200"
    stroke-width=".1" fill="none" transform-origin="32.5% 60%"/>
</svg>

:root {
  --armangle: 20deg;
}

svg > path {
  transform: rotate(var(--armangle));
}
<svg viewBox="0 0 3 3" width="200" height="200">
  <path d="M 0 0 L 0 1 L 1 1 L 1 0 Z" stroke="#442200"
    stroke-width=".1" fill="none" transform-origin="32.5% 60%"/>
</svg>

关于html - 在 CSS 旋转函数中使用 CSS 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70298621/

相关文章:

css - 抽象 CSS

php - 表格结构 Php 矩阵网格

javascript - 为什么我的函数不是函数?

javascript - 如何解析包含 HTML 标记的范围字段

javascript - 对动态图像内容使用媒体查询

html - css 向 iframe 添加阴影效果

python - 代码块中的 Sphinx 变量替换

swift 问题: how can we init an non-optional variable in a if else block if it's of protocol type?

c# - 使用 C# 创建和写入数据到 CSV 文件的问题

javascript - bootstrap input-prepend 使两个 div 内联(在同一行中),没有新行