Durante la costruzione di un sito è importante tenere le giuste spaziature, dando la giusta altezza all'header, così come al footer.
Accade poi, frequentemente, che venga richiesta qualche modifica, ed é proprio in quel momento che le dimensioni degli elementi, che fino a prima erano perfette, rendono il layout, e il nostro lavoro, parzialmente o addirittura completamente da rifare.
Ovviamente, non abbiamo il potere di prevedere le richieste che ci verranno fatte in corso d'opera, ma possiamo prevenire spiacevoli inconvenienti strutturando il layout in modo tale che si adegui ad esse.
Per dividere la pagina in Header/Body/Footer, possiamo utilizzare la proprietá CSS grid-template-rows:
<style> .parent { display: grid; /* La riga centrale occuperà tutto lo spazio disponibile */ grid-template-rows: auto 1fr auto; width: 100%; height: 100%; } </style> <div class="parent"> <header>Header</header> <main> Contenuto </main> <footer>Footer </footer> </div>
Allo stesso modo, possiamo suddividere la pagina in colonne grazie a grid-template-columns:
<style> .parent { display: grid; /* La prima colonna sarà minimo 150px E massimo 25% */ grid-template-columns: minmax(150px, 25%) 1fr; width: 100%; height: 100%; } </style> <div class="parent"> <div>sidebar</div> <main> contenuto </main> </div>
Possiamo creare un un layout completo con header footer e sidebar impostando solo le spaziature.
<style> .parent { display: grid; /* Suddivisione righe/colonne */ grid-template: auto 1fr auto / auto 1fr auto; width: 100%; height: 100%; } header { /* Spazio occupato colonna iniziale / colonna finale occupa tutta una riga */ grid-column: 1 / 4; } .left-sidebar { /* Occupa solo la prima colonna */ grid-column: 1 / 2; } main { grid-column: 2 / 3; } .right-sidebar { grid-column: 3 / 4; } footer { grid-column: 1 / 4; } </style> <div class="parent"> <header>HEADER</header> <div class="left-sidebar" >SIDEBAR</div> <main >CONTENUTO</main> <div class="right-sidebar">SIDEBAR</div> <footer>FOOTER</footer> </div>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Cancellare una run di un workflow di GitHub
Eseguire una query su SQL Azure tramite un workflow di GitHub
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Usare le navigation property in QuickGrid di Blazor
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Usare un KeyedService di default in ASP.NET Core 8
Gestire i dati con Azure Cosmos DB Data Explorer
Creare una custom property in GitHub
Evitare il flickering dei componenti nel prerender di Blazor 8
Generare token per autenicarsi sulle API di GitHub
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Come EF 8 ha ottimizzato le query che usano il metodo Contains
I più letti di oggi
- Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Creare una libreria CSS universale: Cards
- Eseguire script pre e post esecuzione di un workflow di GitHub