我试图用CSS创建HTML的渐变背景。渐变应该从顶部有10%的红色,其余部分(80%)应该是绿色,如下所示:
为此,我写了这段代码:
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
html, body{margin: 0; padding:0;}
</style>
</head>
<body>
<div style="position: fixed; z-index: 1; background: linear-gradient(red 10%, green); height: 100%; width:100%"></div>
</body>
<script>
</script>
</html>
请告诉我的代码有什么问题以及如何实现我的目标。
您在特定点定义颜色。所以在你的情况下......
background: linear-gradient(red 10%, green);
这意味着div为red
为10%。由于您没有另行指定,浏览器假定您想要0-10%的红色。
你还说你希望颜色改变为green
,但是没有定义应该发生的点,所以浏览器假定div的结尾(或100%)。
为了获得你想要的效果,你需要这样的东西:
background: linear-gradient(red, green 20%);
这开始于red
(0%),然后在达到20%标记时消退到green
,然后从那时起继续green
(到100%)。