Вы, конечно, можете жестко задавать высоту, но, поскольку вы спрашиваете, есть ли какой-нибудь более чистый способ сделать это, я считаю, что нужно использовать flexbox с направлением потока столбца, и пусть flexbox дети растут, устанавливая их flex-grow
в 1.
Этот способ не требует жесткого кодирования высоты для каждой строки и позволяет вам иметь столько строк, сколько вы «захотите».
<div class="rectangle-chargement d-flex flex-column">
<div class="rectangle-chargement-row flex-grow-1">
Logo
</div>
<div class="rectangle-chargement-row flex-grow-1">
Loader
</div>
<div class="rectangle-chargement-row flex-grow-1">
Some text
</div>
</div>
![enter image description here](https://i.stack.imgur.com/3xFp0.png)
демо: https://jsfiddle.net/davidliang2008/sngkbLcq/32/
Если вы хотите «централизовать» контент в каждомВы также можете пометить каждую строку как flexbox и установить ее justify-content
и align-items
в центр.
<div class="rectangle-chargement d-flex flex-column">
<div class="rectangle-chargement-row flex-grow-1
d-flex justify-content-center align-items-center">
Logo
</div>
<div class="rectangle-chargement-row flex-grow-1
d-flex justify-content-center align-items-center">
Loader
</div>
<div class="rectangle-chargement-row flex-grow-1
d-flex justify-content-center align-items-center">
Some text
</div>
</div>
![enter image description here](https://i.stack.imgur.com/rzyqL.png)
демо: https://jsfiddle.net/davidliang2008/sngkbLcq/36/