我希望找到一种方法来创建模块化渐变,可以通过添加为 LESS mixin 应用于任意数量的元素。
例如,假设您有一个红色按钮,想要将渐变应用于它。与其选择基准红色和深红色来淡化渐变效果,我想在红色按钮背景上覆盖黑色渐变(顶部部分透明)。虽然只有一种颜色(黑色),但淡化会产生一种从黑色到红色的错觉。理论上,您可以以这种方式在多个项目中叠加相同的渐变 mixin ,而不必定义大量不同的渐变值。
以下是纯 CSS 示例代码,说明我认为它应该如何工作,但实际上并不起作用:
例如,假设您有一个红色按钮,想要将渐变应用于它。与其选择基准红色和深红色来淡化渐变效果,我想在红色按钮背景上覆盖黑色渐变(顶部部分透明)。虽然只有一种颜色(黑色),但淡化会产生一种从黑色到红色的错觉。理论上,您可以以这种方式在多个项目中叠加相同的渐变 mixin ,而不必定义大量不同的渐变值。
以下是纯 CSS 示例代码,说明我认为它应该如何工作,但实际上并不起作用:
.btn {
background: red;
background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 1)), color-stop(1,black));
这段代码将会生成黑色渐变。除非将其设置为背景div或body的颜色,否则红色不会显示出来。我想将其附加到同一个类上。以下是LESS版本:
.gradient (@startColor: fade(@black, 0%), @endColor: fade(@black, 50%)) {
background-color: @black;
background: -webkit-gradient(linear, left top, left bottom, from(@startColor), to(@endColor), color-stop(1,#000000));
我最接近我想要做的是将背景颜色设为红色,然后在其上方放置半透明渐变。但是,我希望目标颜色恰好在内联按钮等上面。这里有一个演示,显示了透明渐变在有色背景上。
是否可能将颜色值附加到实际项(按钮)的背景上?在顶部加载渐变?