Nei precedenti script abbiamo introdotto il funzionamento, la differenza e il caso d'uso di Container Queries e Media Queries. Ora andiamo a utilizzare un template HTML che, per finalità di demo, resterà elementare, ma ci consentirà di apprezzare ogni singola modifica che verrà applicata.
<div class="content-container">
<div class="content">
<p>Contenuto responsive</p>
</div>
</div>Impostiamo ora il css in modo che il container venga modificato solo nelle spaziature e il contenuto negli stili.
.content-container {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
padding: 2rem;
}
/* Media query */
@media (max-width: 768px) {
.content-container {
padding: 1rem;
}
}
.content {
container-type: inline-size;
container-name: content-box;
background-color: white;
border: 2px solid #ccc;
}
/* piccolo */
@container content-box (max-width: 400px) {
.content {
background-color: lightblue;
border-color: blue;
font-size: 0.8rem;
}
}
/* medio */
@container content-box (min-width: 401px) and (max-width: 800px) {
.content {
background-color: lightgreen;
border-color: green;
font-size: 1rem;
}
}
/* largo */
@container content-box (min-width: 801px) {
.content {
background-color: lightcoral;
border-color: red;
font-size: 1.2rem;
}
}Diversamente dalle Media Queries, le Container Queries non hanno breakpoint standardizzati ma dovrà essere lo sviluppatore a definirli sulla base di ogni singola variazione del layout. Questa diversità è un punto da tenere sotto controllo perchè, per esempio, possiamo immaginare un Grid system da due colonne, che in mobile diventerà una, ma in cui la singola colonna può potenzialmente superare una data dimensione, sia che sia visualizzata su una viewport grande che su una piccola. In questa casistica il layout cambierà 4 volte nel passaggio da una finestra larga a una piccola.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Evitare memory leaks nelle closure JavaScript
Definire il colore di una scrollbar HTML tramite CSS
Ridurre il reflow cambiando il CSS
Gestione ciclo di vita in .NET Aspire
Ridimensionamento automatico input tramite CSS
Gestione file Javascript in Blazor con .NET 9
Ospitare n8n su Azure App Service
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Implementare il throttle in JavaScript
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Gestione delle scrollbar dinamiche in HTML e 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


