Come abbiamo già visto in script precedenti, le immagini sono da sempre elementi ostici da gestire. Per la nostra libreria ci affideremo alle classi fornite dal framework CSS prescelto ed andremo solo ad aggiungere una punta di interattività.
Possiamo riutilizzare gli effetti di box-shadow visti con le card, ma anche creare un effetto zoom-in al passaggio con il mouse. Il procedimento è simile all'applicazione dell'ombra, ma per non andare a rompere il layout grafico, inseriamo l'immagine in un contenitore a dimensione fissa, in questo modo l'immagine risulterà ingrandita, ma i contorni della stessa rimangano invariati.
<div class="image-container">
<img src="https://placehold.co/300x200" alt="Immagine di esempio">
</div>.image-container {
position: relative;
width: 300px;
overflow: hidden;
}
.image-container img {
transition: transform 0.3s ease;
}
.image-container:hover img {
transform: scale(1.1);
}Proseguendo il confronto con le card, possiamo anche inserire del testo in overlay, in questo caso, essendo un'immagine, la rotazione non è consigliata, quindi manteniamo lo zoom-in ed aggiungiamo del testo sopra una barra colorata per contrastare con il contenuto dell'immagine.
<div class="image-container">
<img src="https://placehold.co/300x200" alt="Immagine di esempio">
<div class="overlay-text">Testo Overlay</div>
</div>.overlay-text {
position: absolute;
top: 50%;
text-align: center;
width: 100%;
transform: translate(-0%, -50%);
color: white;
font-size: 1.5rem;
padding: 10px 0;
background-color: rgba(0, 123, 255, 0.5);
opacity: 0;
transition: opacity 0.3s ease;
}
.image-container:hover .overlay-text {
opacity: 1;
}Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Selettore CSS :has() e i suoi casi d'uso avanzati
Gestire codice JavaScript con code splitting e lazy loading
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Gestire gli errori nelle Promise JavaScript con try()
Simulare Azure Cosmos DB in locale con Docker
Introduzione alle Container Queries
Evitare memory leaks nelle closure JavaScript
Recuperare le subissue e il loro stato di completamento in GitHub
Scrivere selettori CSS più semplici ed efficienti con :is()
Controllare la telemetria con .NET Aspire
Utilizzare i variable font nel CSS
Ridurre il reflow ottimizzando il CSS
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Gli oggetti CallOut di Expression Blend 4.0
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Utilizzare dati in formato XML in XAML
- Le DirectInk API nella Universal Windows Platform
- Sfruttare una CDN con i bundle di ASP.NET


