【发布时间】:2014-12-02 06:32:33
【问题描述】:
我只是想使用 bootstrap mixin 函数创建一个两种颜色的渐变。所以我的渐变应该是这样的:
当使用引导梯度混合时,我发现没有任何功能可以满足我的要求。所以我尝试制作自己的渐变混合并将其添加到 bootstrap/less/mixins/grandients.less。但是我的功能没有完成我的工作..
这是我添加到 gradients.less 中的渐变 mixin
.vertical-custom(@start-color: #ed3537; @start-percent: 0%; @mid-color: #ed3537; @color-stop: 50%; @mid-color-2: #fb3e40; @color-stop-2: 50%; @end-color: #fb3e40; @end-percent: 100%) {
background-image: -webkit-linear-gradient(top, @start-color @start-percent, @mid-color, @color-stop, @mid-color-2, @color-stop-2, @end-color @end-percent); // Safari 5.1-6, Chrome 10+
background-image: -o-linear-gradient(top, @start-color @start-percent, @mid-color, @color-stop, @mid-color-2, @color-stop-2, @end-color @end-percent); // Opera 12
background-image: linear-gradient(to bottom, @start-color @start-percent, @mid-color, @color-stop, @mid-color-2, @color-stop-2, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
background-repeat: repeat-x;
//filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down
}
我这样称呼它
#gradient.vertical-custom(@start-color: #ed3537; @start-percent: 0%; @mid-color: #ed3537; @color-stop: 50%; @mid-color-2: #fb3e40; @color-stop-2: 50%; @end-color: #fb3e40; @end-percent: 100%);
当我直接将纯 CSS 添加到我的 LESS 文件中时,它对我有用。但我正在寻找创建渐变混合的解决方案。
这是我的渐变的纯 CSS:
background: #ed3537;
background: -moz-linear-gradient(top, #ed3537 0%, #ed3537 50%, #fb3e40 50%, #fb3e40 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ed3537), color-stop(50%,#ed3537), color-stop(50%,#fb3e40), color-stop(100%,#fb3e40));
background: -webkit-linear-gradient(top, #ed3537 0%,#ed3537 50%,#fb3e40 50%,#fb3e40 100%);
background: -o-linear-gradient(top, #ed3537 0%,#ed3537 50%,#fb3e40 50%,#fb3e40 100%);
background: -ms-linear-gradient(top, #ed3537 0%,#ed3537 50%,#fb3e40 50%,#fb3e40 100%);
background: linear-gradient(to bottom, #ed3537 0%,#ed3537 50%,#fb3e40 50%,#fb3e40 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ed3537', endColorstr='#fb3e40',GradientType=0 );
希望有人可以帮助我。 谢谢你。
【问题讨论】:
-
投反对票!!!请告诉我,为什么?
-
这不是一个告诉你如何编写 mixin 的答案,但我已经用 SVG 创建了一个多站可旋转渐变 mixin(为 IE9 及更高版本制作)。这可能对您的需求有点过分,但它是一个强大的渐变混合,可以满足您的所有需求以及更多...http://codepen.io/argh/pen/BLguyhttp://stackoverflow.com/questions/26527870/rotatable-multi-stop-svg-linear-gradient-mixin/26713195#26713195希望它对您有所帮助:)
标签: css twitter-bootstrap less linear-gradients