gpt4 book ai didi

html - 带有条纹背景和顶部三 Angular 形切口的形状

转载 作者:太空狗 更新时间:2023-10-29 12:33:39 25 4
gpt4 key购买 nike

您好,我需要在 CSS/HTML5 中制作形状。我将它粘贴为图像,但现在我需要制作这样的形状。

有什么办法吗?我用三 Angular 形做了一些东西,但它看起来一点也不像这个。

形状:enter image description here

这是我的 CSS。

#flag {
width: 110px;
height: 56px;
padding-top: 15px;
position: relative;
background: red;
color: white;
font-size: 11px;
letter-spacing: 0.2em;
text-align: center;
text-transform: uppercase;
float:left;
}
#flag:after {
content: "";
position: absolute;
left: 0;
top: 0;
width: 0;
height: 0;
border-top: 25px solid #eee;
border-left: 55px solid transparent;
border-right: 55px solid transparent;
}

HTML:

<div id="flag"></div><span>SOME TEXT HERE</span>

JS FIDDLE

最佳答案

您可以使用以下两个选项之一实现此目的。

选项 1:使用 box-shadow 和一个额外的伪元素。

在此选项中,添加了一个大小为 20px 的额外伪元素(白色/灰色)并使用适当定位的框阴影,实现了条纹图案。如果标志元素的尺寸是固定的,则此方法很有用。

#flag {
width: 110px;
height: 56px;
padding-top: 15px;
position: relative;
background: red;
color: white;
font-size: 11px;
letter-spacing: 0.2em;
text-align: center;
text-transform: uppercase;
float: left;
overflow: hidden;
}
#flag:before {
content: "";
position: absolute;
left: 0;
top: 0;
width: 0;
height: 0;
border-top: 25px solid #eee;
border-left: 55px solid transparent;
border-right: 55px solid transparent;
}
#flag:after {
content: "";
position: absolute;
top: 0px;
left: -30px;
height: 10px;
width: 150px;
background: #eee;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
transform: rotate(-45deg);
box-shadow: -20px 60px 0px #eee, -20px 80px 0px #eee, -20px 20px 0px #eee, -20px -20px 0px #eee, 0px 40px 0px #eee;
}
<div id="flag"></div><span>SOME TEXT HERE</span>


选项 2:使用线性渐变

在这种方法中,条纹是使用线性渐变作为伪元素的背景获得的,伪元素旋转 45 度以实现对 Angular 线条纹效果。由于使用线性渐变的百分比,即使尺寸不固定也可以使用此选项。

div{
height: 100px;
width: 100px;
position: relative;
overflow: hidden;
}
div:before{
content: '';
position: absolute;
background: -webkit-linear-gradient(90deg, red 50%, #eee 50%);
background: -moz-linear-gradient(0deg, red 50%, #eee 50%);
background: linear-gradient(0deg, red 50%, #eee 50%);
background-size: 100% 20px;
top: 0px;
left: 0px;
height: 150%;
width: 150%;
-webkit-transform-origin: 15% 60%;
-moz-transform-origin: 15% 60%;
transform-origin: 15% 60%;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
transform: rotate(-45deg);
}
div:after{
content: '';
position: absolute;
background: #eee;
top: -25%;
left: 25%;
height: 50%;
width: 50%;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
}
<div></div>

注意:在第二个示例中,我放置了顶部三 Angular 形,使其仍然在两侧留有一些空间,仅作为示例。这fiddle有一个覆盖旗帜整个宽度的顶部三 Angular 形。

关于html - 带有条纹背景和顶部三 Angular 形切口的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28502427/

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