如何解决将圆分成3个部分,每个扇区内有垂直文本
我需要使用CSS(没有JS或SVG)绘制此形状:
在以下情况下:
我尝试过的操作:fiddle。但是它旋转文本。
另外,我尝试将rotate
与translateY
属性一起使用,但它会压缩文本:
解决方法
尝试在:after伪元素(而不是li的元素)上进行边界和旋转
您可以翻译以获得空的中心。
,然后将文字放置在 像这样:
.circle {
position: relative;
padding: 0;
width: 80px;
height: 80px;
border-radius: 50%;
list-style: none;
overflow: hidden;
}
li:after {
content:"";
overflow: hidden;
position: absolute;
top: -20%;
right: -20%;
width: 70%;
height: 70%;
transform-origin: 0% 100%;
border-bottom: solid black 1px;
}
.text {
position: absolute;
width: 10px;
height: 10px;
margin-left: -5px;
}
li:first-child:after {
transform: rotate(0deg) skewY(30deg) translate(5px);
}
li:first-child .text {
top: 25%;
left: 75%;
}
li:nth-child(2):after {
transform: rotate(120deg) skewY(30deg) translate(5px);
}
li:nth-child(2) .text {
top: 70%;
left: 50%;
}
li:nth-child(3):after {
transform: rotate(240deg) skewY(30deg) translate(5px);
}
li:nth-child(3) .text {
top: 25%;
left: 25%;
}
<ul class="circle">
<li>
<div class="text">1</div>
</li>
<li>
<div class="text">2</div>
</li>
<li>
<div class="text">3</div>
</li>
</ul>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。