首先,我刚刚开始接触 HTML 和 CSS。
我想如何使用此代码: https://codepen.io/martinjkelly/pen/vEOBvL
.container {
width: 250px;
height: 250px;
position:relative;
background-color:grey;
}
.corner {
width: 0;
height: 0;
border-top: 150px solid #ffcc00;
border-bottom: 150px solid transparent;
border-right: 150px solid transparent;
}
.corner span {
position:absolute;
top: 35px;
width: 100px;
left: 5px;
text-align: center;
font-size: 16px;
font-family: arial;
transform: rotate(-45deg);
display:block;
}
<div class="container">
<div class="corner"><span>20% Special Offer</span></div>
</div>
但我想在顶部/右侧制作三角形。
我尝试过的:
.corner {
width: 0;
height: 0;
border-top: 150px solid transparent;
border-bottom: 150px solid transparent;
border-left: 150px solid transparent;
}
.corner span {
position:absolute;
top: 35px;
width: 100px;
left: 5px;
text-align: center;
color: #ffffff;
text-transform: uppercase;
font-size: 14px;
transform: rotate(45deg);
display:block;
}
它可以工作,但文本位置不正确...
非常感谢您的帮助。
您必须进行一些调整,因为三角形会自然地向左对齐,您不能只是以其他方式旋转它,您还需要使用绝对定位,以便它在右侧对齐。这还需要对文字的位置进行一些调整:
.container {
width: 250px;
height: 250px;
position:relative;
background-color:grey;
}
.corner {
width: 0;
height: 0;
border-top: 150px solid #ffcc00;
border-bottom: 150px solid transparent;
border-left: 150px solid transparent;
position:absolute;
right:0;
}
.corner span {
position:absolute;
top: -110px;
width: 100px;
left: -100px;
text-align: center;
font-size: 16px;
font-family: arial;
transform: rotate(45deg);
display:block;
}
<div class="container">
<div class="corner"><span>20% Special Offer</span></div>
</div>
我建议你也读一下这个,它是 css 中的所有形状: https://www.css-tricks.com/examples/ShapesOfCSS/
没有绝对定位:
.container {
width: 250px;
height: 250px;
position:relative;
background-color:grey;
}
.corner {
width: 0;
height: 0;
border-top: 150px solid #ffcc00;
border-left: 150px solid transparent;
right:0;
margin-left:auto;
}
.corner span {
position:absolute;
top: 35px;
width: 100px;
right: 5px;
text-align: center;
font-size: 16px;
font-family: arial;
transform: rotate(45deg);
display:block;
}
<div class="container">
<div class="corner"><span>20% Special Offer</span></div>
</div>