#html #css #bootstrap-4
#HTML #css #bootstrap-4
Вопрос:
Я хочу, чтобы изображение располагалось таким образом, чтобы его центр всегда располагался в нижней части синего фона. Это должно выглядеть следующим образом:
Я могу использовать top: 37v; но изменение размера высоты окна не позволит ему сохранить свое положение относительно фона.
.background{
background-image: url("https://i.imgur.com/5Y5F5fF.png");
background-repeat: no-repeat;
background-size: cover;
background-position: 0 100%;
height: 50vh;
}
header img{
position: relative;
height: 100px;
/*!*top: 37vh;*! Don't want to use this as resizing will effect its position relative to background*/
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<header>
<div class="container-fluid d-flex justify-content-center background">
<img src="https://i.imgur.com/3dzn4KM.png" alt="phone">
</div>
</header>
Ответ №1:
Добавьте эти 2 строки к стилю:
header img{
position: relative;
height: 100px;
top:50%;
margin-top:-50px;
}
Это должно помочь.
Ответ №2:
Вы можете использовать комбинацию position: relative
и absolute
примерно так:
.background {
background-image: url("https://i.imgur.com/5Y5F5fF.png");
background-repeat: no-repeat;
background-size: cover;
background-position: 0 100%;
height: 50vh;
position: relative;
}
header img {
position: absolute;
height: 100px;
bottom: -50px;
/*!*top: 37vh;*! Don't want to use this as resizing will effect its position relative to background*/
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<header>
<div class="container-fluid d-flex justify-content-center background">
<img src="https://i.imgur.com/3dzn4KM.png" alt="phone">
</div>
</header>