Как организовать структуру div с радиусом, используя CSS
Я пытаюсь создать HTML-страницу, показанную на этом образце изображения.
http://i57.tinypic.com/14udpo4.png
Я хочу разместить другой компонент поверх этого черного и бордового кругов. Для этого я использую тег Структура div и span. И используя span background-image, чтобы применить это изображение в качестве фона.
Моя проблема в том, что будет структурой div и span, чтобы расположить черный круг по радиусу тегов div/span, содержащих бордовый круг в качестве фона.
До сих пор у меня есть центр круга. Я не знаю, как организовать вокруг него другие круги
div.table-text {
position: fixed;
top: 20%;
left: 20%
}
span.table-text {
position: inherit;
display: block;
width: 60%;
height: 60%;
background-image: url(../images/table-text.png);
background-position: bottom;
background-repeat: no-repeat;
}
<div class="table-text">
<span class="table-text">
</span>
</div>
4 ответа
Я не уверен, что понял вопрос, но постараюсь ответить.
Вы не можете использовать что-то вроде cos() для размещения элементов в HTML, вам придется использовать негативы margin-top:
или же position: absolute;
Мой совет: используйте отрицательные поля для черных точек слева и справа.
Редактировать: я сделал вашу работу, теперь платите мне! @:
.circle {
display: inline-block;
border-radius: 200px;
position: absolute;
width: 100px;
height: 100px;
background-color: black;
}
#bigCircle {
border-radius: 200px;
width: 400px;
height: 400px;
margin: 0 auto;
background-color: brown;
}
#bottom {
margin: 50px calc(50% - 50px);
}
#left {
margin: -50px calc(25% - 50px);
}
#right {
margin: -50px calc(75% - 50px);
}
<div id="bigCircle"></div>
<div class="circle" id="left"></div>
<div class="circle" id="bottom"></div>
<div class="circle" id="right"></div>
JSFiddle - ДЕМО
Не зная остальной структуры вашего документа, я собрал для вас это доказательство концепции, используя абсолютное позиционирование, которое, мы надеемся, укажет вам правильное направление.
Если вам нужно что-то разъяснить или что-то из этого не соответствует вашим потребностям, пожалуйста, дайте мне знать, и я постараюсь обновить его соответствующим образом.
*{
box-sizing:border-box;
color:#fff;
font-family:sans-serif;
}
.top{
background:red;
border-radius:50%;
margin:-10% auto 0;
padding:0 0 75%;
position:relative;
width:75%;
}
div>div{
background:green;
border-radius:50%;
overflow:hidden;
padding:0 0 20%;
position:absolute;
width:20%;
}
div.one{
left:-10%;
top:80%;
}
div.two{
left:40%;
top:103%;
}
div.three{
right:-10%;
top:80%;
}
p{
text-align:center;
position:absolute;
margin:0;
width:100%;
}
.top>p{
top:15%
}
.top>div>p{
top:5%;
}
<div class="top">
<p>top</p>
<div class="one">
<p>one</p>
</div>
<div class="two">
<p>two</p>
</div>
<div class="three">
<p>three</p>
</div>
</div>
Я думаю, что вы хотите, как здесь для отзывчивости вы можете использовать значение в процентах или максимальной ширины.
<div class="maroon">
<div class="m-child m-child1"></div>
<div class="m-child m-child2"></div>
<div class="m-child m-child3"></div>
<div class="m-child m-child4"></div>
</div>
.maroon{
max-width: 300px;
max-height:300px;
background:maroon;
top:0;
right:0;
bottom:0;
left:0;
margin:auto;
}
.m-child, .maroon{
position: absolute;
border-radius:100%;
}
.m-child{
background: #000;
width:100px;
height:100px;
}
.m-child1{
left: -50px;
top:0;
bottom: 0;
margin: auto;
}
.m-child2{
right: -50px;
top:0;
bottom: 0;
margin: auto;
}
.m-child3{
top: -50px;
left: 0;
right:0;
margin: auto;
}
.m-child4{
bottom: -50px;
left: 0;
right:0;
margin: auto;
}
Я думаю, что вам нужно что-то вроде следующего: вы можете вносить изменения в соответствии с вашими требованиями.
.middle_circle {
background: none repeat scroll 0 0 red;
border-radius: 100%;
height: 200px;
left: 220px;
position: absolute;
top: 60px;
width: 200px;
}
.circle{
position:relative;
width:5%;padding-bottom:50%;
margin-left:47.5%;
}
.circle div {
position:absolute;
top:0; left:0;
width:100%; height:100%;
-webkit-transform : rotate(24deg);
-ms-transform : rotate(24deg);
transform : rotate(24deg);
}
.circle:before, .circle div:before {
content:'';
position:absolute;
top:0; left:0;
width:100%; padding-bottom:100%;
border-radius: 100%; background:black;
}
<div class="circle">
<div><div><div><div><div><div><div><div><div><div><div><div><div><div><div>
</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>
<div class="middle_circle"></div>
Проверьте скрипку.