水平锋利的背景渐变与特定长度的第一种颜色

Dan*_*iel 5 css linear-gradients css3

我已经看到在纯CSS中创建的垂直列有这样的东西:

div {
  height: 300px;
  background: linear-gradient(to right, #a2ea4c 200px, #07aa91 200px, #07aa91);
}
Run Code Online (Sandbox Code Playgroud)
<div></div>
Run Code Online (Sandbox Code Playgroud)

是否有可能以与上述类似的方式制作固定大小水平标题,即仅使用CSS?

**编辑**

以下是我正在尝试做的最小例子.我不想在html标签上设置背景渐变,以便在页面的顶部和底部有不同的过卷颜色,中间有可变的,有时是透明的内容.使用可变内容填充页面时,渐变会使用第一种颜色完全填充页面.如下例所示.

html {
    background: linear-gradient(to bottom, #a2ea4c 200px, #07aa91 200px, #07aa91);
}

div {
  height: 300px;
  width: 20%;
  margin: 0 auto;
  background: teal;
}
Run Code Online (Sandbox Code Playgroud)
<html>
  <body>
    <p> Lorem ipsum sit amet</p>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

(如果切换div标签的p-tag,您将看到渐变按预期工作)

Har*_*rry 6

linear-gradient函数的第一个参数是应该应用渐变的方向.在相关的代码段中,它是to right,所以输出看起来像列.要将其更改为行,只需将方向更改to bottom为下面的代码段.

你可以在这里阅读更多关于linear-gradient它和它的论点.

div {
  height: 300px;
  background: linear-gradient(to bottom, #a2ea4c 200px, #07aa91 200px, #07aa91);
}
Run Code Online (Sandbox Code Playgroud)
<div></div>
Run Code Online (Sandbox Code Playgroud)

以下是对渐变本身的解释,以便更好地理解:

  • 渐变是a linear-gradient,即颜色在直线上线性变化.
  • 方向是to bottom0%(或0px)位于容器的顶部并位于容器100%的底部.
  • #a2ea4c 200px表示渐变的颜色为从顶部开始#a2ea4c200px标记.
  • #07aa91 200px表示在200px标记处,渐变的颜色突然#a2ea4c变为#07aa91.这使得它成为一种难以停止的渐变,因为没有逐渐的颜色变化.
  • #07aa91意味着颜色从200px标记到渐变结束保持不变.

由于以下原因,第二个代码段中提供的渐变不可见:

  • 渐变的颜色#a2ea4c仅为前200px,但p元素的高度为300px.
  • p默认情况下,标记是块级容器,当没有特殊的CSS样式时,它需要100%的宽度.
  • 如此有效,p标签覆盖了具有不同颜色的渐变的整个区域.

如果pdiv(或因此导致自定义CSS应用)替换标记,则渐变将是可见的,因为width那时只有20%.

html {
  background: linear-gradient(to bottom, #a2ea4c 200px, #07aa91 200px, #07aa91);
}
div {
  height: 300px;
  width: 20%;
  margin: 0 auto;
  background: teal;
}
Run Code Online (Sandbox Code Playgroud)
<div>Lorem ipsum sit amet</div>
Run Code Online (Sandbox Code Playgroud)