Я пытаюсь создать фигуру с помощью CSS, используя псевдоэлементы до и после. Форма отображается так, как я ожидаю в Chrome и Firefox, однако в Safari содержимое: before доходит до уровня: after, и я не уверен, почему. Похоже, что это как-то связано с преобразованием в элементе my: before, но я не уверен, что именно я сделал неправильно, и почему в Safari все по-другому, и я не могу понять, как это исправить.
Это то, что я получаю в Chrome / Firefox , и это то, что я получаю в Safari
.outer {
position: absolute;
top: 50px;
left: 100px;
transform: rotate(27deg);
}
.shape {
position: absolute;
height: 100px;
width: 100px;
background-color: blue;
border-radius: 50%;
}
.shape:before {
content: '';
position: absolute;
left: 36px;
top: 26px;
width: 200px;
height: 48px;
background-color: inherit;
border-top-right-radius: 50%;
border-bottom-right-radius: 50%;
transform: perspective(200px) rotateY(70deg);
}
.shape:after {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 92px;
height: 92px;
border-radius: 50%;
background:
radial-gradient(blue 17%, transparent 19%),
radial-gradient(red 26%, transparent 28%),
radial-gradient(blue 40%, transparent 42%),
red;
}
<div class="outer">
<div class="shape"></div>
</div>