我知道这个问题在另一种形式中非常受欢迎: How do CSS triangles work?
我已经广泛阅读了整个帖子,但它没有解决我想要做的事情。
我想制作一个反应灵敏的跨浏览器等边三角形剪辑。
我发现很多像这样使用像素的CSS:
#triangle-up {
width: 0;
height: 0;
border-left: 60px solid transparent;
border-right: 60px solid transparent;
border-bottom: 100px solid red;
}
但它没有回应。我目前正在使用下面的多边形绘制它,如下所示:
.tri-Up {
-webkit-clip-path: polygon(50% 0, 0 100%, 100% 100%);
clip-path: polygon(50% 0, 0 100%, 100% 100%);
}
但这与Firefox不兼容。我已经探索了这个问题好几个星期,但还没有找到一种方法来修剪等边三角形,让它具有响应性,并让它在firefox,chrome和Safari中运行。
任何想法或尝试/成功都将获得我的赞赏和尊重。
答案 0 :(得分:2)
是的,可以做到,我需要一段时间,并找到解决这个问题的权利 here :
<div>
或其他一些您认为可以代表三角形的内容,以及一个:pseudo
选择器(实际上您可以使用2x <div>
并忽略{ {1}}选择器):pseudo
选择器可用于表示三角形本身,就像您在问题中发布的:pseudo
道具一样。border
就像一个掩码,它使用 width 和 padding 的组合缩小/增长<div>
选择器 percetage :pseudo
元素上设置的border
道具就像三角形将会增长的:pseudo
,因此您可以指定一些更大的值,直到您认为将需要的最大值此解决方案作者的称赞,以及有关此内容的更多内容:
查看 demo here 或下面的摘录:
max-width
*,
*:after,
*before {
box-sizing: border-box;
}
h3 {
margin: 10px;
text-align: center;
}
.small-container {
max-width: 10%;
float: left;
}
.medium-container {
max-width: 30%;
float: left;
}
.large-container {
float: left;
max-width: 50%;
}
.fancy-triangle {
width: 50%;
height: 0;
padding-left: 50%;
padding-bottom: 50%;
overflow: hidden;
}
.fancy-triangle:after {
content: "";
display: block;
width: 0;
height: 0;
margin-left: -2000px;
border-left: 2000px solid transparent;
border-right: 2000px solid transparent;
border-bottom: 2000px solid #4679BD;
}
<强>更新强>
好的,因为你需要在sorta响应三角形中实际掩盖图像,上面的方法不会削减它。
相反,您可以使用<h3>Now isnt that nice?</h3>
<div class='fancy-triangle'></div>
和一些百分比 svg
点,如下所示:
clip path
绘制一个三角形,如果剪辑路径无法正常工作,则用于剪切图像自定义点/形状或者,您可以在svg
包装器上使用绝对位置,并将宽度/高度设置为某个百分比值,这些值将绑定到具有相对位置的设置父级,然后随之增长/缩小
更新V3
除了使用<img>
标记外,您还可以使用<img>
和<svg>
attr的图像,而且它应该非常好用。
src
.fancy-triangle-image {
max-width: 1200px;
-webkit-clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
clip-path: url(#triangle);
}
.fancy-triangle-image img{
width: 100%;
}
答案 1 :(得分:1)
我能想到的最好的选择是在三角形上使用vw
作为你的单位,因为这是你可以在border属性中使用的唯一响应单位。请点击此处http://sassmeister.com/gist/1b0d70bf4cc35ff05fec
浏览器对vw的支持非常好。 http://caniuse.com/#search=vw