Если я правильно понимаю ваш пост, вы хотите поместить изображения SVG в северную, южную, восточную и западную точки круга с помощью CSS;Это определенно возможно сделать с помощью CSS, но это полностью зависит от размера контейнера и размера используемых изображений.
Пример предоставленного вами круга имеет заданную высоту и ширину, поэтому, предполагая, что ваши SVG-изображения также имеют заданный размер и не меняются в зависимости от размера страницы, вы можете сделать что-то подобное.
body {
background-color: #de4e40;
text-align: center;
justify-content: center;
align-items: center;
height: 100vh;
width: 100vw;
margin: 0;
display: flex;
}
.squareLoader {
/* added 'position: relative', because parent elements of absolute positioned elements have to be positioned to prevent mayhem */
position: relative;
height: 200px;
width: 200px;
background-color: white;
border: 1px solid black;
border-radius: 50%;
}
.avatar {
position: absolute;
left: 75px;
top: 75px;
border: 1px solid black;
height: 50px;
width: 50px;
}
.avatarN {
top: -25px;
}
.avatarS {
top: 175px;
}
.avatarE {
left: 175px;
}
.avatarW {
left: -25px;
}
и HTML с .avatar
<div>
с (вы можете прикрепить изображения SVG внутри этих элементов):
<div class='squareLoader'>
<div class="avatar avatarN"></div>
<div class="avatar avatarS"></div>
<div class="avatar avatarE"></div>
<div class="avatar avatarW"></div>
</div>
В предыдущем примере все четыре аватара <div>
s имеют высоту и ширину 50px
.
.avatarN
имеет top
позицию -25px
, потому что это половина высоты изображения и left
позиция 75px
(половина ширины .squareLoader
минус половина ширины изображения).
.avatarW
имеет top
позицию 75px
(половина высоты .squareLoader
минус половина изображениявысота) и left
позиция 25px
, что составляет половину высоты изображения.
И так далее для других элементов.
Если вы собираетесь сделать .squareLoader
<div>
изменить размер в зависимости от размера страницы, а размер изображения - в зависимости от размера страницы. Вы можете использовать CSS-функцию calc (), которую можно использовать везде, где разрешена единица измерения длины в CSS.
https://developer.mozilla.org/en-US/docs/Web/CSS/calc
w3Schools имеет довольно приличное краткое объяснение всех единиц, разрешенных в CSS:
https://www.w3schools.com/cssref/css_units.asp
А также, ееИх страница также содержит значения позиций в CSS:
https://www.w3schools.com/cssref/pr_class_position.asp
Независимо от того, используете ли вы flexbox, вам все равно придется использовать свойство position, чтобы получить изображения там, где выхочу их.