gpt4 book ai didi

css - 重叠三 Angular 形

转载 作者:行者123 更新时间:2023-11-28 09:05:49 26 4
gpt4 key购买 nike

这是我试图用纯 CSS 创建的形状:

CSS overlapping triangles

我有一个更完整的jsfiddle http://jsfiddle.net/8Lxr5s57/7/ .有没有更好、更有效的方法来实现同样的结果?

.angled_container {
background-color: #fff;
height: 200px;
position: relative;
overflow: hidden;
clear: both;
}
.angled_container:before,
.angled_container:after {
content: "";
width: 110%;
height: 100%;
display: block;
position: absolute;
top: 0;
}
.angled_container:before {
background-color: #606060;
transform: rotate(12deg);
-webkit-transform-origin: left top;
left: 0;
}
.angled_container:after {
background-color: #6bb2c6;
transform: rotate(-12deg);
-webkit-transform-origin: right top;
left: -10%;
}
.angled_container--open-left:before {
background-color: #6bb2c6;
z-index: 2;
}
.angled_container--open-left:after {
background-color: #606060;
z-index: 1;
}
<div class="angled_container angled_container--open-right"></div>

最佳答案

CSS

我建议对两个三 Angular 形使用 skewY() 而不是 rotate()。它将避免一些定位问题并防止使用比容器更宽的伪元素:

.angled_container {
height: 200px;
position: relative;
overflow: hidden;
}
.angled_container:before,
.angled_container:after {
content: "";
width: 100%; height: 100%;
display: block;
position: absolute;
top: 0; left: 0;
}
.angled_container:before {
background-color: #606060;
transform: skewY(12deg);
transform-origin: left top;
}
.angled_container:after {
background-color: #6bb2c6;
transform: skewY(-12deg);
transform-origin: right top;
}
<div class="angled_container angled_container--open-right"></div>


SVG

或者,您可以使用带有 2 polygon elements 的内联 SVG .这是完全响应式的,并且可能更容易制作/维护,因为您可以使用 fill 属性在 CSS 中设置三 Angular 形样式:

svg{display:block; width:100%;}
.first{
fill:#606060;
}
.second{
fill:#6bb2c6;
}
<svg viewbox="0 0 100 30">
<polygon class="first" points="0 0 100 28 0 25 0 28"/>
<polygon class="second" points="0 28 0 25 100 0 100 28 52 28 50 30 48 28 0"/>
</svg>

关于css - 重叠三 Angular 形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33897235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com