【发布时间】:2016-01-10 12:55:53
【问题描述】:
我正在尝试使图像的底部变尖。我试图通过在底部生成两个三角形来获得这种效果。他们必须反应灵敏。在互联网上搜索了很多不符合我要求的示例之后,这是迄今为止我设法制作的最好的示例。
body,
html {
height: 100%
}
.image {
width: 1410px;
margin-right: auto;
margin-left: auto;
height: 500px;
overflow: hidden;
position: relative;
}
.pointer {
height: 50px;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
}
.triangleWrapper {
width: 50%;
height: 50px;
float: left;
}
.lefttriangle {
width: 100%;
height: 10px;
left: 0px;
top: 0px;
background-image: linear-gradient(to right top, #ffffff 50%, transparent 50%);
}
.righttriangle {
width: 100%;
height: 10px;
right: 0px;
top: 0px;
background: linear-gradient(to left top, #ffffff 50%, transparent 50%)
}
<div class="image">
<img src="http://placekitten.com/1410/500">
<div class="pointer">
<div class="triangleWrapper">
<div style="height: 100%;" class="lefttriangle"></div>
</div>
<div class="triangleWrapper">
<div style="height: 100%;" class="righttriangle"></div>
</div>
</div>
</div>
它完全按照我想要的方式工作,因为它无需媒体查询即可响应。但是它在不是 90 度的三角形线上有一个锯齿状边缘。
如何在大多数(如果不是所有)现代浏览器中生成流畅的线条?我不是要求向后兼容。
非常感谢任何帮助!
【问题讨论】:
标签: css responsive-design css-shapes linear-gradients