CSS三角形的渐变

时间:2014-05-12 22:57:39

标签: html css css3

我尝试了各种各样的东西,但我试图基本上这个矩形在右边有一个三角形边。我试图在它上面投下一个阴影,并且还有一个渐变。有谁知道如何让渐变在右侧正确显示以匹配矩形?我使用边框来创建三角形,我觉得这是最常见的模式之一。

任何建议都会受到欢迎。我在右侧创建了一个演示示例。

http://sassmeister.com/gist/f49dd8f6ef8d3e121557

1 个答案:

答案 0 :(得分:4)

演示: http://jsfiddle.net/techsin/g2x99/

更新(垂直): http://jsfiddle.net/techsin/g2x99/4/

http://jsfiddle.net/techsin/g2x99/2/

在这里使用图像要容易得多......或者在这里使用SVG或画布。

另一个缺点是角落背景不透明。

body {background-color: #eee;}
.box {
    width: 100px;
    height: 40px;
    background-color: rgb(115, 115, 202);
    position: relative;
    background-image: -webkit-gradient(
    linear,
    left top,
    right top,
    color-stop(0, rgba(255, 255, 255,.2)),
    color-stop(1, rgba(0, 0, 0,.6))
);
}

.box:before,
.box:after {
    font-size: 0px; 
    content: ".";
    position: absolute;
    right: 0;    

}
.box:before {
    border-top: 20px solid transparent;
    border-right: 15px solid #eee;
    bottom: 0;
}
.box:after {
    border-top: 20px solid #eee;
    border-left: 15px solid transparent;
    top: 0;
}