Как сделать так, чтобы блок автоматически попадал в видимую область окна браузера
У меня есть блок, в котором при наведении на квадраты появляется текст под этим квадратом.
Мне нужно сделать так, чтобы при наведении на крайние квадраты (слева и справа которые) блок с текстом был полностью виден. И чтобы работало на адаптиве, например на 768.
Я, конечно, могу задать классы этим крайним элементам и сместить текст вручную, но дело в том, что на адаптиве, крайние блоки будут уже другие. Хочется сделать без костылей, но не понимаю как. Может есть способ, чтобы определять, что блок находится вне зоны окна и перемещать его автоматически? Спасибо за ответ.
https://jsfiddle.net/IvanGrishov/18rwemg3/13/
body {
background: rgba(3, 20, 46, 0.9);
}
.container {
padding: 32px;
}
.card__inner {
background: #E31E24;
width: 48px;
height: 48px;
border-radius: 8px;
}
.card__text {
display: none;
}
.card__text {
color: #FFFFFF;
font-size: 14px;
line-height: 140%;
font-family: sans-serif;
padding: 20px;
background: rgba(255, 255, 255, 0.17);
backdrop-filter: blur(30px);
position: absolute;
top: 40px;
transform: translateX(-50%);
z-index: 10;
border-radius: 8px;
min-width: 547px;
}
.cards-block__row {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.card {
flex: 0 1 25%;
cursor: pointer;
margin-bottom: 24px;
position: relative;
}
.card__inner {
position: relative;
}
.card__inner:hover .card__text {
display: block;
}
@media (max-width: 768px) {
.card {
flex: 33.333%;
display: flex;
justify-content: center;
}
}
<div class="cards-block container">
<div class="cards-block__row">
<div class="card">
<div class="card__inner">
<p class="card__text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur beatae est ex id minus numquam ratione! Aliquid architecto dolor, modi tempore totam voluptate. A ad alias, deleniti dignissimos eaque laudantium minima minus nihil nisi nobis officiis, recusandae sed totam voluptate.</p>
</div>
</div>
<div class="card">
<div class="card__inner">
<p class="card__text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur beatae est ex id minus numquam ratione! Aliquid architecto dolor, modi tempore totam voluptate. A ad alias, deleniti dignissimos eaque laudantium minima minus nihil nisi nobis officiis, recusandae sed totam voluptate.</p>
</div>
</div>
<div class="card">
<div class="card__inner">
<p class="card__text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur beatae est ex id minus numquam ratione! Aliquid architecto dolor, modi tempore totam voluptate. A ad alias, deleniti dignissimos eaque laudantium minima minus nihil nisi nobis officiis, recusandae sed totam voluptate.</p>
</div>
</div>
<div class="card">
<div class="card__inner">
<p class="card__text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur beatae est ex id minus numquam ratione! Aliquid architecto dolor, modi tempore totam voluptate. A ad alias, deleniti dignissimos eaque laudantium minima minus nihil nisi nobis officiis, recusandae sed totam voluptate.</p>
</div>
</div>
<div class="card">
<div class="card__inner">
<p class="card__text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur beatae est ex id minus numquam ratione! Aliquid architecto dolor, modi tempore totam voluptate. A ad alias, deleniti dignissimos eaque laudantium minima minus nihil nisi nobis officiis, recusandae sed totam voluptate.</p>
</div>
</div>
<div class="card">
<div class="card__inner">
<p class="card__text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur beatae est ex id minus numquam ratione! Aliquid architecto dolor, modi tempore totam voluptate. A ad alias, deleniti dignissimos eaque laudantium minima minus nihil nisi nobis officiis, recusandae sed totam voluptate.</p>
</div>
</div>
<div class="card">
<div class="card__inner">
<p class="card__text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur beatae est ex id minus numquam ratione! Aliquid architecto dolor, modi tempore totam voluptate. A ad alias, deleniti dignissimos eaque laudantium minima minus nihil nisi nobis officiis, recusandae sed totam voluptate.</p>
</div>
</div>
<div class="card">
<div class="card__inner">
<p class="card__text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur beatae est ex id minus numquam ratione! Aliquid architecto dolor, modi tempore totam voluptate. A ad alias, deleniti dignissimos eaque laudantium minima minus nihil nisi nobis officiis, recusandae sed totam voluptate.</p>
</div>
</div>
</div>
</div>