首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS以像素为单位设置多色梯度?

CSS以像素为单位设置多色梯度?
EN

Stack Overflow用户
提问于 2019-12-30 10:22:14
回答 4查看 1.8K关注 0票数 3

如何在y轴坐标1、2、3、4、5和6上从上到下绘制出6种不同的颜色,而这些颜色各占1 px,并有7种颜色占据了div的其余部分?我试过了,但没有用:

代码语言:javascript
复制
background-image: linear-gradient(to bottom, #e2e2e2 0%, #e8e8e8 2px, #efefef 3px, #f4f4f4 4px, #f7f7f7 5px, #f8f8f8 6px, #f9f9f9 100%);
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-12-30 10:46:37

尝试如下:

代码语言:javascript
复制
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);
}

或者像这样,如果你想要一个褪色的过渡

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

另一个具有多重梯度的想法:

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

票数 5
EN

Stack Overflow用户

发布于 2019-12-30 10:47:45

这就对了

代码语言:javascript
复制
#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) */
}
代码语言:javascript
复制
<div id="grad1"></div>

票数 1
EN

Stack Overflow用户

发布于 2019-12-30 10:44:30

我认为这就是问题所要做的--对尺寸进行了编辑,以使屏幕上的效果可以分辨出来,当然,第一个例子也很俗气。

代码语言:javascript
复制
.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;
}
代码语言:javascript
复制
<div class='graded'>obvious</div>
<div class='re-graded'>subtle</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59529214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档