我怎样画一条线来连接所有的圆和红色的圆呢?我想把每个圆都连接到红色的圆上。
我试过:before和:after,但因为我是新来的,这并不容易。
谢谢。
.circle-container {
position: relative;
width: 24em;
height: 24em;
padding: 2.8em;
/*2.8em = 2em*1.4 (2em = half the width of a link with img, 1.4 = sqrt(2))*/
margin: 1.75em auto 0;
}
.circle-container span {
display: block;
position: absolute;
top: 50%;
left: 50%;
width: 4em;
height: 4em;
margin: -2em;
border: dashed 1px;
border-radius: 50%;
}
.center { background: red; }
.item1 { transform: rotate(-90deg) translate(12em) rotate(90deg); }
.item2 { transform: rotate(-60deg) translate(12em) rotate(60deg); }
.item3 { transform: rotate(-30deg) translate(12em) rotate(30deg); }
.item4 { transform: rotate(0deg) translate(12em) rotate(0deg); }
.item5 { transform: rotate(30deg) translate(12em) rotate(-30deg); }
.item6 { transform: rotate(60deg) translate(12em) rotate(-60deg); }
.item7 { transform: rotate(90deg) translate(12em) rotate(-90deg); }
<div class="circle-container">
<span class="center">MENU</span>
<span class="item1">ITEM 1</span>
<span class="item2">ITEM 2</span>
<span class="item3">ITEM 3</span>
<span class="item4">ITEM 4</span>
<span class="item5">ITEM 5</span>
<span class="item6">ITEM 6</span>
<span class="item7">ITEM 7</span>
</div>
2条答案
按热度按时间6yoyoihd1#
找到了这些JS函数,在这些函数中,您可以将form和to元素以及具有预定义样式的行传递给它们:
链接到原始项目:https://jsfiddle.net/rdamasceno/o3Lroapa/5/
gojuced72#
作为扩展的伪元素
Note, in the provided example, the HTML has been altered for aesthetic and semantic reasons -- there is nothing wrong with your HTML (unless we are talking about aesthetics and/or semantics 😸).
对于每个
.item*
,添加一个::after
或::before
伪元素,样式为12em
宽元素,带有可见border-bottom
(类似于<hr>
)。参见图I。图一
然后使用其父行的第一个
transform: rotate()
值调整每一行,然后使用transform: translate()
和transform-origin
移动该行,请参见图II,其中显示了.item1::after
的样式。图二
示例
一个二个一个一个