В настоящее время я использую display: grid, чтобы мои элементы могли складываться в зависимости от размера экрана, чтобы мне не нужно было использовать теги @media. Проблема, с которой я сталкиваюсь, заключается в том, что я также хочу сделать так, чтобы, когда отдельные div-ы зависли, они выглядели так, как будто они переворачивались, показывая что-то на спине. Я использую абсолютное положение, чтобы во время перехода оба элемента были в одном месте, но элементы сетки перекрываются. Есть предложения?
HTML
<section class="basic-grid">
<div class="card">
<div class="front">
<img src="Resources/Images/Mountain_Moon.jpg" />
</div>
<div class="back">
This is a test!
</div>
<div></div>
</div>
<div class="card">
<div class="front">
<img src="Resources/Images/Mountain_Moon.jpg" />
</div>
<div class="back">
This is a test!
</div>
<div></div>
</div>
<div class="card">
<div class="front">
<img src="Resources/Images/Mountain_Moon.jpg" />
</div>
<div class="back">
This is a test!
</div>
<div></div>
</div>
<div class="card">
<div class="front">
<img src="Resources/Images/Mountain_Moon.jpg" />
</div>
<div class="back">
This is a test!
</div>
<div></div>
</div>
</section>
... CSS База. css
.card{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
/*background-color: white;*/
/*width: 300px;
height: 200px;*/
border-radius: 5px;
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.5);
position: relative;
}
.card img{
width: 100%;
}
.card .front,
.card .back{
display: block;
width: 300px;
height: 200px;
position: fixed;
/*top: 0;
left: 0;*/
transition: 2s;
backface-visibility: hidden;
border: 5px solid white;
}
.card .front{
transform: perspective(1000px) rotateY(0deg);
z-index: 2;
overflow:hidden;
}
.card .back {
transform: perspective(1000px) rotateY(180deg);
z-index: 1;
overflow: hidden;
}
.card:hover .front {
transform: perspective(1000px) rotateY(-180deg);
z-index: 2;
}
.card:hover .back {
transform: perspective(1000px) rotateY(0deg);
z-index: 1;
}
База-сетка. css
.basic-grid {
display: grid;
grid-gap: 1rem;
position: relative;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}