设置线性渐变高度和宽度

时间:2018-01-04 03:12:57

标签: css linear-gradients

我知道您可以使用

设置线性渐变的宽度
    .grey-block { background: linear-gradient(to right, #f9f9f9 0%, #f9f9f9 35%, white 35%, white 100%); }

以及高度

    .grey-block { background: linear-gradient(to bottom, #f9f9f9 0%, #f9f9f9 65%, white 65%, white 100%); }

但是,有没有办法可以使用相同的css线设置高度和宽度?

2 个答案:

答案 0 :(得分:1)

您可以指定角度。这应该可以解决问题。

.grey-block { background: linear-gradient( 135deg, #f9f9f9 0%, #f9f9f9 65%, white 65%, white 100%); }

答案 1 :(得分:0)

为了澄清,问题中的代码是设置渐变的heightwidth。它正在调整颜色停止,这会产生一个灰色矩形。

为了调整渐变的实际尺寸,我们需要使用background-size属性(以及background-repeat)来设置heightwidth渐变。

使用background-size控制渐变的尺寸,我们可以将CSS重写如下:

.grey-block {
  background-color: white;
  background-image: linear-gradient(#f9f9f9, #f9f9f9);
  background-size: 35% 65%;
  background-repeat: no-repeat;
}

发生的事情是我们正在定义纯色的“渐变”并限制它的大小。 background-repeat被禁用,因此它只会渲染一个灰色块。

.grey-block {
  background-color: white;
  background-image: linear-gradient(#f9f9f9, #f9f9f9);
  background-size: 35% 65%;
  background-repeat: no-repeat;
}


/* non-relevant styles */
body {
  background-color: #222;
}
.grey-block {
  height: 200px;
  width: 200px;
}
<div class="grey-block"></div>