在CSS中如何设置多颜色渐变(以像素为单位)?

3
我如何在y轴坐标1,2,3,4,5和6上映射出6种不同的颜色,并使这些颜色每个都占用1像素,而第7种颜色则占用其余的div区域? 我已经尝试过以下方法,但没有成功:
background-image: linear-gradient(to bottom, #e2e2e2 0%, #e8e8e8 2px, #efefef 3px, #f4f4f4 4px, #f7f7f7 5px, #f8f8f8 6px, #f9f9f9 100%);

尝试使用此工具创建任何类型的渐变效果... https://www.colorzilla.com/gradient-editor/ - Habib
4个回答

5

尝试以下方法:

html {
 min-height:100%;
 background-image: 
  linear-gradient(to bottom, 
    orange  0 10px, 
    red     0 20px, 
    purple  0 30px, 
    green   0 40px, 
    #f7f7f7 0 50px, 
    blue    0 60px, 
    yellow 0);
}

如果您想要渐变过渡效果,可以这样做

html {
 min-height:100%;
 background-image: 
  linear-gradient(to bottom, 
    orange  10px, 
    red     20px, 
    purple  30px, 
    green   40px, 
    #f7f7f7 50px, 
    blue    60px, 
    yellow  0);
}

另一种多重渐变的想法:

html {
 min-height:100%;
 background: 
  linear-gradient(to bottom, 
    orange  , 
    red     , 
    purple  , 
    green   , 
    #f7f7f7 , 
    blue    ) top/100% 25% no-repeat, /* 25% = height */
   yellow;
}


1

就是这样

#grad1 {
    height: 200px;
    background: red; /* For browsers that do not support gradients */
    background: -webkit-linear-gradient(bottom, orange , yellow, green, cyan, blue, violet); /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(bottom, orange, yellow, green, cyan, blue, violet); /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(bottom, orange, yellow, green, cyan, blue, violet); /* For Firefox 3.6 to 15 */
    background: linear-gradient(to bottom, orange , yellow, green, cyan, blue, violet); /* Standard syntax (must be last) */
}
<div id="grad1"></div>


0

我认为这个做了问题所要求的 - 大小被编辑以使效果在屏幕上可辨,不可否认第一个例子非常花哨

.graded{
    background: linear-gradient(
      yellow 0%, 
      blue 10px, 
      red 20px, 
      green 30px, 
      pink 40px, 
      orange 50px,
      #f9f9f9 60px,
      #f9f9f9 100%
     );
}
.re-graded{
    background: linear-gradient(
    #e2e2e2 0%, 
    #e8e8e8 10px, 
    #efefef 20px,
    #f4f4f4 30px, 
    #f7f7f7 40px, 
    #f8f8f8 50px, 
    #f9f9f9 60px,
    #f9f9f9 100%
  )
}
div{
    width: 100%;
    height:10rem;
    border:1px solid black;
}
<div class='graded'>obvious</div>
<div class='re-graded'>subtle</div>


0

试试这个:

div {
  background: #466368;
  background: linear-gradient(to right, #e2e2e2 40px, #f8f8f8 50%, #e8e8e8 10%, #293f50 );
  border-radius: 6px;
  height: 120px;
}
<div></div>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接