欢迎您访问新疆栾骏商贸有限公司,公司主营电子五金轴承产品批发业务!
全国咨询热线: 400-8878-609

新闻资讯

技术学院

在css中如何用hue-rotate旋转色相

作者:P粉6029986702025-10-14 00:00:00
CSS中的hue-rotate通过filter属性调整元素颜*调,语法为hue-rotate(angle),角度范围0deg到360deg,实现色轮旋转效果,如90deg偏黄绿、180deg反色、360deg复原;常用于夜间模式、悬停动画或主题切换,可与saturate等滤镜组合使用,但对黑白灰及透明区域影响小,且作用于整个元素渲染层。

在CSS中使用 hue-rotate 可以调整图像或元素的颜*调,它是 filter 属性的一个功能。通过改变色相值,可以让颜色在色轮上旋转,从而实现色彩的变换。

语法与用法

hue-rotate(angle) 接收一个角度值作为参数,单位是 deg(度)。色相范围是 0deg 到 360deg,代表色轮上的不同颜色位置。

常见角度示例:

  • 0deg:原色
  • 90deg:向绿色/黄色方向偏移
  • 180deg:反*调(如红变青)
  • 270deg:进一步旋转
  • 360deg:回到原色,等同于 0deg
例如,将一张图片整体变为暖色调:
.color-shift {
  filter: hue-rotate(90deg);
}

应用场景

这个滤镜常用于动态调整图标、图片或背景的颜色,而无需准备多套资源。比如:

  • 夜间模式下统一调整图标的颜色风格
  • 悬停时让图片产生色彩变化动画
  • 根据主题切换动态改变界面色调

支持与其他 filter 函数组合使用:

.fancy-effect {
  filter: hue-rotate(180deg) saturate(2);
}

注意事项

hue-rotate 只影响颜色,对透明区域或纯黑/白灰区域效果不明显。它作用于整个元素的渲染结果,包括背景图和子元素(如果未隔离图层)。

若需要更精确控制某部分颜色,建议结合 mix-blend-mode 或使用 SVG 滤镜。

基本上就这些,不复杂但容易忽略细节。