Чтобы выровнять прямоугольник над тегом hr
, вы можете просто присвоить ему display
из block
и margin
из auto
. Это позволит центрировать прямоугольник относительно контейнера.
Что касается выравнивания кнопки добавления по центру, сохраняя ее фиксированной, вы можете обернуть кнопку в div
, присвоив этой div
позицию fixed
и width
из 100%
. Затем дайте ему отображение flex
и justify-content
из center
. Это приведет к выравниванию по центру всех дочерних элементов, которые находятся в div
.
В зависимости от того, насколько низко вы хотите кнопку добавления, вы можете установить свойство bottom
для только что созданного div. На данный момент у меня -125 пикселей. Также лучше использовать bottom
и пиксели в качестве единиц, потому что другие элементы имеют фиксированные размеры.
body{
background-color: #242424;
}
.page-wrap {
width: 90%;
margin: 0 auto;
height: 98vh;
}
.buildings-wrap{
width: 95%;
margin: 0 auto;
height: 100%;
text-align: middle;
}
.rectangle{
height: 650px;
background-color: lightblue;
width: 215px;
display: block;
margin:auto;
}
.add_btn{
border-radius: 50%;
background-color: lightcyan;
text-align: center;
line-height: 150px;
height: 150px;
width: 150px;
margin: 0 auto;
font-size: 100px;
font-weight: 900;
}
hr{
margin: 0 auto 0 auto;
}
<div class="page-wrap">
<div class="buildings-wrap">
<br/>
<div style="display: flex; margin: auto;"><div class="rectangle"></div></div>
<hr/>
<div style="width: 100%; display:flex; justify-content: center;position: fixed; bottom: -125px; left: 0;"><button class="add_btn">+</button></div>
</div>
</div>