Чтобы было понятно, у меня есть два квадрата, у них обоих position: absolute
, и они находятся внутри другого элемента div, имеющего относительную позицию.
Это больше относится к дизайну пользовательского интерфейса, а не к центру двух элементов div вдруг с другом и используйте if for web, это скорее интерфейс или анимация для всплывающих окон или аналогичных.
Это значит, что у меня может быть круг, который где-то больше, чем box1. Затем я использую невидимое поле с относительным положением, которое содержит box2 как дочерний элемент
Оба квадрата имеют разный размер.
Новый пример проблемы здесь: https://jsfiddle.net/mgznef98/2/
Красное поле не может изменять положение Граница так или иначе должна быть отцентрирована. И я поместил его в контейнер box2, чтобы поддержать его, потому что box1 мог бы быть другой формой, а не простым боксом, если бы я его отредактировал
"some-container" - это просто "вещь ", которая будет перемещаться по сайту и нести все" ящики ", поэтому ее нельзя использовать с ячейкой таблицы.
Если вы посмотрите на это Поворот объектов вокруг круга с помощью CSS? На этой странице они вращают элементы вокруг центра другого элемента, но они не находятся внутри центра. И я пытаюсь что-то поставить в центр. В качестве примера можно привести квадрат с границей, которая будет вращаться вокруг.
Мне удалось каким-то образом центрировать синий квадрат внутри красного квадрата. Я даже не уверен, что это точно по центру. https://jsfiddle.net/mgznef98 об этом раньше, но для пограничного я действительно не знаю.
Мой вопрос, я думаю, что за этим стоит какая-то математика. Я думаю, что должна быть какая-то формула, чтобы выяснить, что поместить внутри «верха» и «слева», чтобы я мог центрировать синее поле «граница» точно внутри красного поля, когда красное поле меняет ширину и высоту.
Что я знаю, так это то, что он меняется в зависимости от размера box2, его контейнера и box1.
Пример:
Скажем еще раз, у меня есть два ящика, ноодин из них невидим, в данном случае контейнер box2. И box2 - это не коробка, а вращение. И box1 - это не коробка, а элемент, форма или нечто, имеющее центр. И у box2 есть граница вместо цвета фона, и эта граница должна вращаться вокруг центра элемента. Дело в том, что box2 больше, чем box1.
.some-container {
top: 30px;
left: 30px;
position: relative;
}
.box1 {
width: 20px;
height: 20px;
background: red;
position: absolute;
}
.box2-container {
position: relative;
height: 20px;
width: 20px;
}
.box2 {
width: 40px;
height: 40px;
border: 2px solid blue;
position: absolute;
top: -50%; /* These values have to be changed when I want to recenter a new width and height from box1 */
left: -50%;
border-radius: 50%;
border-color: blue blue blue transparent;
border-width: 2px;
animation: box2-rotation 3s linear infinite;
}
@keyframes box2-rotation {
0% {transform: rotate(0deg);}
100% {transform: rotate(360deg);}
}
<div class=some-container>
<div class=box1>
</div>
<div class=box2-container>
<div class=box2>
</div>
</div>
</div>