CSS较少的伪类能否将选择器的属性传递给函数?

CSS较少的伪类能否将选择器的属性传递给函数?,css,css-selectors,less,pseudo-class,Css,Css Selectors,Less,Pseudo Class,我目前正在尝试用更少的CSS为我的渐变创建一个单点定义。我已经创建了一个为我编写跨浏览器CSS代码的函数,但有一个问题我无法解决 我想指定一次渐变,并使用一个单独的函数(侦听参数“flip”)在hover上交换两个颜色变量。我在下面发布了一个示例: selector { .background-gradient(rgba(27, 117, 185, .35), 48%, rgba(22, 97, 154, .35), 52%); } selector:hover { .backg

我目前正在尝试用更少的CSS为我的渐变创建一个单点定义。我已经创建了一个为我编写跨浏览器CSS代码的函数,但有一个问题我无法解决

我想指定一次渐变,并使用一个单独的函数(侦听参数“flip”)在hover上交换两个颜色变量。我在下面发布了一个示例:

    selector { .background-gradient(rgba(27, 117, 185, .35), 48%, rgba(22, 97, 154, .35), 52%); }
    selector:hover { .background-gradient(flip); }
我一直在寻找解决办法,但当然什么也没找到。总而言之:我希望有一个函数,可以读取选择器的渐变值,并使用它们通过交换颜色来创建悬停样式。我希望这是可能的

提前谢谢


PS:创建侦听“翻转”(模式匹配)的函数不是问题,但我认为它可以让您更好地了解我实际要实现的目标。

您想要什么还不是100%清楚,但为什么不使用类似的功能呢

.selector {
  @startCol: rgba(27, 117, 185, .35);
  @startPercentage: 48%;
  @endCol: rgba(22, 97, 154, .35)
  @endPercentage: 52%;
  .gradient(@startCol, @startPercentage, @endCol, @endPercentage);
  &:hover {
    .gradient(@endCol, @endPercentage, @startCol, @startPercentage);
  }
}
如果在悬停时翻转是很常见的,那么您可以将上面的代码创建为mixin,然后您只需在每个类/渐变定义中调用它一次


mixin无法知道之前传递给函数的参数,也无法使用值数组调用mixin。

您想要什么还不是100%清楚,但为什么不使用类似的方法呢

.selector {
  @startCol: rgba(27, 117, 185, .35);
  @startPercentage: 48%;
  @endCol: rgba(22, 97, 154, .35)
  @endPercentage: 52%;
  .gradient(@startCol, @startPercentage, @endCol, @endPercentage);
  &:hover {
    .gradient(@endCol, @endPercentage, @startCol, @startPercentage);
  }
}
如果在悬停时翻转是很常见的,那么您可以将上面的代码创建为mixin,然后您只需在每个类/渐变定义中调用它一次


mixin无法知道之前传递给函数的参数,也无法使用值数组调用mixin。

这正是我需要的。我从来没有想过在渐变混合中添加法线和悬停状态。谢谢!这正是我需要的。我从来没有想过在渐变混合中添加法线和悬停状态。谢谢!