划分循环Div

时间:2017-09-11 13:39:10

标签: javascript jquery html css

我试图在圈子div周围放置5个div,我怎样才能实现它?

到目前为止,这是我的代码:



.main{
	border: 2px dotted #000000;
	border-radius: 50%;
	width: 500px;
	height: 500px;
}
.cirlce1{
	height: 50px;
	width: 50px;
	border: 2px dotted #000000;
	border-radius: 50%;
	top: 50px;
}
.cirlce2{
	height: 50px;
	width: 50px;
	border: 2px dotted #000000;
	border-radius: 50%;
	top: 50px;
}

<div class="main">
	<div class="cirlce1"></div>
	<div class="cirlce2"></div>
</div>
&#13;
&#13;
&#13;

我希望我的输出像

enter image description here

谢谢。

3 个答案:

答案 0 :(得分:7)

您可以将小圆圈的位置设置为position: absolute;,然后使用topleftrightbottom进行播放理想的地方。

我建议您使用%来设置位置以便它具有响应性,但是如果大圆圈尺寸是静态的,您可以使用px设置位置。

.main{
	border: 2px dotted #000000;
	border-radius: 50%;
	width: 500px;
	height: 500px;
}
.cirlce1{
  position: absolute;
	height: 50px;
	width: 50px;
	border: 2px dotted #000000;
	border-radius: 50%;
	top: 50%;
}
.cirlce2{
  position: absolute;
	height: 50px;
	width: 50px;
	border: 2px dotted #000000;
	border-radius: 50%;
  left: 50%;
}
<div class="main">
	<div class="cirlce1"></div>
	<div class="cirlce2"></div>
</div>

答案 1 :(得分:4)

关键是将小圆圈与大圆圈完全相对。

然后,您可以使用calc()将其置于中心位置。

最后,对每个小圆圈应用一系列变换,将它们移动到外边缘,然后围绕大圆圈旋转每个小圆圈360度(72度)的1/5。如果您正在使用SASS等预处理器,则可以使用循环完成最后一步。

.main {
    position: relative;
    border: 2px dotted #000000;
    border-radius: 50%;
    width: 500px;
    height: 500px;
}

.circle {
    position: absolute;
    left: calc(50% - 25px);
    top: calc(50% - 25px);
    height: 50px;
    width: 50px;
    border: 2px dotted #000000;
    border-radius: 50%;
}

.circle:nth-child(1) {
    transform: translateX(250px);
}

.circle:nth-child(2) {
    transform: rotate(72deg) translateX(250px);
}

.circle:nth-child(3) {
    transform: rotate(144deg) translateX(250px);
}

.circle:nth-child(4) {
    transform: rotate(216deg) translateX(250px);
}

.circle:nth-child(5) {
    transform: rotate(288deg) translateX(250px);
}
<div class="main">
    <div class="circle"></div>
    <div class="circle"></div>
    <div class="circle"></div>
    <div class="circle"></div>
    <div class="circle"></div>
</div>

答案 2 :(得分:0)

    <style type="text/css">
 .main{
  border: 2px dotted #000000;
  border-radius: 50%;
  width: 500px;
  height: 500px;
}
.cirlce1{
  height: 50px;
  width: 50px;
  border: 2px dotted #000000;
  border-radius: 50%;
  top: 50px;
  margin-top: 75px;
}
.cirlce2{
  height: 50px;
  width: 50px;
  border: 2px dotted #000000;
  border-radius: 50%;
  top: 50px;
  margin-top: 240px;
}
.cirlce3{
  height: 50px;
  width: 50px;
  border: 2px dotted #000000;
  border-radius: 50%;
  margin-bottom: 10px;
  margin-left: 400px;
}
.cirlce4{
  height: 50px;
  width: 50px;
  border: 2px dotted #000000;
  border-radius: 50%;
  top: 50px;
  margin-bottom: 750px;
  margin-left: 250px;
}
.cirlce5{
  height: 50px;
  width: 50px;
  border: 2px dotted #000000;
  border-radius: 50%;
  margin-left: 450px;
  margin-top: -1200px;
}
</style>
<div class="main">
  <div class="cirlce1"></div>
  <div class="cirlce2"></div>
  <div class="cirlce3"></div>
  <div class="cirlce4"></div>
  <div class="cirlce5"></div>

</div>