intranet-apei/styles-scripts/photos.css

99 lines
No EOL
1.6 KiB
CSS

.parent {
display: grid;
grid-template-columns: repeat(5, 1fr);
grid-template-rows: repeat(3, 1fr);
grid-column-gap: 2px;
grid-row-gap: 2px;
max-height: 75vh;
}
.div1 {
grid-area: 1 / 1 / 4 / 4;
}
.div2 {
grid-area: 1 / 4 / 3 / 6;
}
.div3 {
grid-area: 3 / 4 / 4 / 5;
}
.div4 {
grid-area: 3 / 5 / 4 / 6;
}
img {
width: 100%;
height: 100%;
object-fit: cover;
}
.parent>div {
position: relative;
overflow: hidden;
}
.overlay {
position: absolute;
inset: 0;
display: flex;
align-items: flex-end;
padding: 20px;
background: linear-gradient(to top,
rgba(0, 0, 0, 0.75),
rgba(0, 0, 0, 0));
opacity: 0;
transition: opacity 0.3s ease;
}
.overlay p {
color: white;
margin: 0;
font-size: 18px;
transform: translateY(20px);
transition: transform 0.3s ease;
}
.parent>div:hover .overlay {
opacity: 1;
}
.parent>div:hover .overlay p {
transform: translateY(0);
}
.banniere {
height: 400px;
/* hauteur de la bannière */
background-size: cover;
/* effet image coupée */
background-position: center;
background-repeat: no-repeat;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
/* léger voile sombre sur toute l'image */
.banniere::before {
content: "";
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.4);
}
/* texte */
.texte-banniere {
position: relative;
/* important pour passer au-dessus du voile */
color: white;
font-size: 3rem;
font-weight: bold;
text-align: center;
}