边框内的图像

时间:2012-12-16 15:33:27

标签: html css

我使用以下CSS代码创建了一个三角形。

    width: 0; 
    height: 0; 
    border-left: 100px solid transparent;
    border-right: 100px solid transparent;      
    border-top: 60px solid #000;

这个边框的背景颜色是黑色的,因为我提到了#000但是现在我需要在这个三角形里面有一个图像。我尝试使用background-image属性向CSS添加另一行,但这样做是在方形背景中显示完整图像而不是矩形背景。

如何使用我需要的图像显示三角形。

3 个答案:

答案 0 :(得分:0)

我认为你不能用纯CSS和跨浏览器工作。你可以做的是有一个掩蔽图像,中心的透明三角形放在你的另一个图像上。如果您使边看起来与您的页面颜色相同,则会产生图像为三角形的错觉。

你也可以使用画布并改变图像使其成为一个三角形。

在CSS支持方面,有一些掩码设置。仅限Safari和Chrome支持,您可以使用-webkit-mask。对于Firefox,Safari,Chrome和Opera,您可以使用mask。但是没有IE支持。

答案 1 :(得分:0)

类似this example的内容吗?

样式表:

div {
    width: 0; 
    height: 0; 
    border-left: 100px solid transparent;
    border-right: 100px solid transparent;      
    border-top: 60px solid #000;
    position: relative;
}
div::after {
    content: "";
    background: url('http://lorempixel.com/40/40/'); no-repeat;
    width: 40px;
    height: 40px;
    position: absolute;
    top: -60px;
    left: -20px;    
}​

答案 2 :(得分:0)

如果您可以省略非WebKit支持的浏览器,请尝试使用-webkit-mask属性查看掩码,以便将图像掩盖为三角形。

以下是关于它们的好文章:http://css-tricks.com/webkit-image-wipes/