我正在尝试做你在图像上看到的三角形部分。
我尝试了一些方法但没有成功。
如果图像改变大小,我需要三角形来代替。 而且我不希望容器div因为三角形而扩展。 但我无法修复div高度,因为如果图像大小改变它会改变。 我不想在Photoshop中做三角形并导出图像,因为当你点击它时你也会看到三角形。
任何想法如何以正确的方式实现这一目标。
以下是我的尝试。
.arrow-down {
width: 0;
height: 0;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
border-top: 20px solid #f00;
}
.image{
width:100%;
}
<div class="imageTriangle">
<img src="image.jpg">
<div class="arrow-down"></div>
</div>
答案 0 :(得分:4)
对图像使用伪元素:after
演示 - http://jsfiddle.net/victor_007/dvv7bg76/
此示例不适用于ie8
.image:after {
content:'';
width: 0;
height: 0;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
border-top: 20px solid #f00;
position:absolute;
left:50%;
top:0;
transform:translatex(-50%); /** making it horizontally center **/
}
或旧版浏览器也可以使用此
演示 - http://jsfiddle.net/victor_007/dvv7bg76/1/
这将适用于ie8
.image:after {
content:'';
width: 0;
height: 0;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
border-top: 20px solid #f00;
position:absolute;
left:50%;
top:0;
margin-left:-20px; /** for older browsers **/
}
答案 1 :(得分:0)
试试这个
.arrow-down {
position:absolute;
top:0;
left:50%;
width:0;
height:0;
border-left:20px solid transparent;
border-right:20px solid transparent;
border-top:20px solid black;
}
.image{
position:absolute;
top:0;
left:0;
width:100%;
}
img{
width:100%;
}
&#13;
<div class="image">
<img src="http://lorempixel.com/400/200/">
<div class="arrow-down"></div>
</div>
&#13;
如果我需要进一步澄清,请添加评论。