Вы можете использовать псевдоэлемент , чтобы сделать height
равным width
для элемента, используя padding-top
в процентах (обратите внимание, что заполнение рассчитывается относительно ширины для элемента).
Также я использую контейнер inline-flex
, чтобы ширина элемента была равна его содержанию - см. Демонстрацию ниже:
.a-circle-badge {
display: inline-flex; /* <-- inline flex container */
flex-direction: column;
align-items: center;
justify-content: center;
border: 10px solid;
border-radius: 50%;
padding: 30px;
margin-top: 20px;
font-size: 30px;
}
.a-circle-badge span {
display: flex;
justify-content: center;
align-items: center;
}
.a-circle-badge span::before {
content: '';
padding-top: 100%; /* <-- will create height = width */
}
<div class="a-circle-badge"><span>2200</span></div>
<div class="a-circle-badge"><span>Some text here</span></div>