中心渐变

Center Gradient

我用白色、红色、白色创建了一个渐变,如下所示:

background: -webkit-linear-gradient(left, white , red, white);
background: -o-linear-gradient(right, white, red, white);
background: -moz-linear-gradient(right, white, red, white); 
background: linear-gradient(to right, white , red, white);

在这里你可以看到演示:http://jsfiddle.net/mmMVN/43/

当时我想实现的是:

1.白色 颜色一直到盒子的 30%

2.红色 来自 30-70% 的盒子

3 然后 白色 再次为盒子的其余部分 30%

表示红色部分恰好在框的中间

所以我所做的是:

background: -webkit-linear-gradient(left, white 30%, red 70%, white 100%); /* For Safari 5.1 to 6.0 */
background: -o-linear-gradient(right, white 30%, red 70%, white 100%); /* For Opera 11.1 to 12.0 */
background: -moz-linear-gradient(right, white 30%, red 70%, white 100%); /* For Firefox 3.6 to 15 */
background: linear-gradient(to right, white 30%, red 70%, white 100%); /* Standard syntax (must be last) */

但这并没有使 red 部分居中,而是将其移到了右边 part.Demo: http://jsfiddle.net/mmMVN/41/

如何让红色部分居中?谢谢

你可以试试这个:

#grad1 {
    height: 200px;
    background: -webkit-linear-gradient(left, white 30%, red 50%, white 70%); 
    background: -o-linear-gradient(right, white 30%, red 50%, white 70%); 
    background: -moz-linear-gradient(right, white 30%, red 50%, white 70%); 
    background: linear-gradient(to right, white 30%, red 50%, white 70%);
}
<div id="grad1"></div>

问题来自您的百分比重新分区:

right, white 30%, red 70%, white 100%

意味着白色将从 30% 开始,红色将在 70% 时充满,然后在 100% 时淡入全白


OP评论后更新:

#bck {
    height: 200px;
    background: red;
    margin-left: 30%;
    width: 40%;
}
<div id="bck"></div>

解决方法是:

   background: linear-gradient(to right,  white 30% , red 50% , white 70%)

在此处查看演示:http://jsfiddle.net/mmMVN/47/ 使用了边框,因此更显眼

尝试这样放置:

#grad1 {
    height: 200px;
    background: -webkit-linear-gradient(left, white 30%, red 31%, red 69%, white 70%); 
    background: -o-linear-gradient(right, white 30%, red 31%, red 69%, white 70%); 
    background: -moz-linear-gradient(right, white 30%, red 31%, red 69%, white 70%); 
    background: linear-gradient(to right, white 30%, red 31%, red 69%, white 70%);
}

希望这对您有所帮助。这里是 fiddle.