我见过用纯CSS创建的垂直列,如下所示:
div {
height: 300px;
background: linear-gradient(to right, #a2ea4c 200px, #07aa91 200px, #07aa91);
}
<div></div>
是否有可能以与上述类似的方式制作固定大小的水平标题,即仅使用CSS?
**编辑**
以下是我正在尝试做的最小例子。我不想在html标签上设置背景渐变,以便在页面的顶部和底部有不同的过卷颜色,中间有可变的,有时是透明的内容。使用可变内容填充页面时,渐变会使用第一种颜色完全填充页面。如下例所示。
html {
background: linear-gradient(to bottom, #a2ea4c 200px, #07aa91 200px, #07aa91);
}
div {
height: 300px;
width: 20%;
margin: 0 auto;
background: teal;
}
<html>
<body>
<p> Lorem ipsum sit amet</p>
</body>
</html>
(如果您切换div标签的p-tag,您会看到渐变按预期工作)
答案 0 :(得分:6)
linear-gradient
函数的第一个参数是应该应用渐变的方向。在相关代码段中,它是to right
,因此输出看起来像列。要将其更改为行,只需将方向更改为to bottom
,如下面的代码段所示。
您可以详细了解linear-gradient
及其参数here。
div {
height: 300px;
background: linear-gradient(to bottom, #a2ea4c 200px, #07aa91 200px, #07aa91);
}
<div></div>
以下是对渐变本身的解释,以便更好地理解:
linear-gradient
,也就是说,颜色在直线上呈线性变化。to bottom
,表示0%
(或0px
)位于容器的顶部,100%
位于容器的底部。< / LI>
#a2ea4c 200px
表示渐变的颜色为#a2ea4c
,直到距离顶部200px
标记。#07aa91 200px
表示在200px
标记处,渐变的颜色从<{1}}突然变为到#a2ea4c
。这使得它成为硬停止渐变,因为没有渐变的颜色变化。#07aa91
表示从#07aa91
标记到渐变结束的颜色保持不变。由于以下原因,第二个代码段中提供的渐变不可见:
200px
仅适用于前200px,但#a2ea4c
元素的高度为300px。p
标签默认为块级容器,当没有特殊的CSS样式时,它的宽度为100%。p
标记覆盖了具有不同颜色的渐变的整个区域。如果您将p
标记替换为p
(从而导致自定义CSS应用),则会显示渐变,因为div
只会变为20%。< / p>
width
html {
background: linear-gradient(to bottom, #a2ea4c 200px, #07aa91 200px, #07aa91);
}
div {
height: 300px;
width: 20%;
margin: 0 auto;
background: teal;
}