【发布时间】:2016-06-05 04:08:02
【问题描述】:
我尝试了所有 CSS 技巧来为我的body 标签制作如下线性渐变。
但是CSS渐变不锐利,所以我尝试了以下技巧,
<body><div class="bg"></div></body>
.bg{
background-color:red;
width:3000px;
height:3000px;
overflow:hidden
}
.bg:before{
left: 7%;
top:-20%;
width:100%;
height:100%;
transform:rotate(25deg)
}
所以,我实现了绿色矩形。我现在可以看到明显的渐变了。
但我必须编写media 查询来调整每个尺寸的旋转。
我想如果我们可以在这个 div 上使用 SVG 从(0, 0) 到(body width, body height) 绘制一个三角形,我真的可以制作一个响应式线性渐变。
但我对 SVG 很陌生,如何使用 SVG 实现响应式反直角三角形?
简而言之,我想要一个响应式的两色
smooth &sharp渐变背景。
更新:
完整的css代码在这里。
div.bg {
margin-top: -50px;
position: fixed;
height: 1500px;
width: 3500px;
overflow: hidden;
background-color: @bg-gradient-color-1;
background-size: cover;
z-index: -999999;
}
.bg:before {
content: '';
position: fixed;
width: 200%;
height: 200%;
background-color: @bg-gradient-color-2;
z-index: -999999;
}
@media only screen and (min-width: 1320px) {
.bg:before {
left: 0%;
top: -106%;
transform: rotate(27deg);
}
}
【问题讨论】:
-
什么,你的意思是这样的:colorzilla.com/gradient-editor/#ff070b+0,00db15+100 - 没有必要只为请求的渐变使用 svg
-
我试过了birdspider,它没有响应,并且不流畅地用于完整的body标签
-
您发布的代码实际上并没有做任何事情,只是创建了一个大的红色方块。而且您发布的图像根本没有显示“渐变”。也许你忘记了什么。
-
@LonelyPlanet 你不需要为你的渐变使用
50% 51%。50% 50%是允许的。当你这样做时它会变得尖锐:jsfiddle.net/tgbmzfhL/2 -
我知道 Firefox 有一个错误,即 CSS 渐变中的那些急剧过渡是锯齿状的,并且没有正确抗锯齿。我相信这已经解决了。
标签: javascript html css svg