Pagina aggiornata... Venerdì, 06 Marzo 2026 * Tempo di caricamento 0.003 secondi
Link navigazione : Home telaioHome ~ Tutorial ~ Html » Sito responsive flexbox

..:: Sito responsive con css e Flexbox ::..

Un sito responsive è uno spazio web nel quale si può navigare facilmente con qualunque
dispositivo perché si adatterà alla misura dello schermo con cui si accede

Per realizzarlo sarà assolutamente necessario utilizzare i css, la struttura o layout delle pagine
deve essere flessibile ed è possibile farlo utilizzando il modello Flexbox, con le sue tante
proprietà specifiche ci da modo di "costruire" spazi web belli, leggeri e comodi da consultare

Flexbox permette di posizionare elementi in riga o in colonna, con la proprietà display: flex;
impostata nel contenitore principale e le altre opzioni che possiede si potranno delineare e personalizzare
gli spazi nelle pagine in base alle esigenze e renderli adattabili allo spazio consentito dai vari dispositivi

* Guide delle proprietà con codici ed esempi: in italiano Webarea
e in inglese CSS-TRICKS - W3schools-Flexbox

Ed ecco una pagina esempio di ciò che si può realizzare
Home con layout flexbox
La pagina si visualizzerà in modo differente in base al tipo di dispositivo con cui si accede,
da un pc la colonna sarà posizionata a sinistra del corpo pagina, con un tablet o smartphone,
(schermi minori di 700 px) si sposterà sopra, si ridimensioneranno il titolo/logo e la barra menu
che diventerà un menu a discesa, un hamburger menu con la classica icona "☰"

* Cliccate sulle immagini per ingrandire e vedere maggiori dettagli





Il primo tag essenziale per un sito responsive è il meta che fornisce indicazioni per le dimensioni
di visualizzazione al browser in base al dispositivo con cui si accede nella pagina



Classi css che ho scritto per realizzare la struttura
I nomi delle classi sono personalizzabili, la cosa migliore però è scrivere nomi specifici
degli elementi in cui andranno inserite, sarà più semplice fare eventuali modifiche

/* Header - Logo nome sito */
.header {
padding: 35px;
text-align: center;
background: #e7d5d1;
color: #8b5755;
}

/* Contenitore colonna - Corpo */
div#contenitore {
display: flex;
}

/* Crea due colonne (colonna e corpo) */
.colonna {
flex: 200px; * Misura in larghezza della colonna in pixel
background-color: #f6f0ee;
padding: 20px;
}

/* Corpo */
.corpo {
flex: 60%;* Misura in larghezza del corpo/pagina in percentuale
background-color: white;
padding: 20px;
}

/* Footer */
.footer {
padding: 20px;
text-align: center;
background: #e7d5d1;
}

Ed infine con il parametro @media screen ho inserito le indicazioni "responsive"

@media screen and (max-width: 700px) {
.nome_sito {
font-size: 65px;
}
}
/* Responsive layout - quando lo schermo è largo meno di 700 px, impila le due colonne una sopra l'altra invece che una accanto all'altra */
@media screen and (max-width: 700px) {
#contenitore, .navbar {
flex-direction: column;
}
}

Ho richiamato le classi per la struttura in elementi div

<!-- Header -->
<div class="header">[...]</div>

<!-- Contenitore flex -->
<div id="contenitore">
<div class="colonna">[...]</div>
<div class="corpo">[...]</div>
</div>

<!-- Footer -->
<div class="footer">[...]</div>

Per la barra menu ho personalizzato il codice fornito da codepen.io

Rispetto al telaio che al momento non è responsive, direi che è una bella pagina, sicuramente
più pratica da navigare anche se il menu a lista in colonna è assolutamente da evitare perché
su uno schermo piccolo si posizionerà sopra o sotto il corpo pagina, quindi nel primo caso sovrasterà
i contenuti principali dello spazio e nel secondo occorrerà arrivare in fondo per visualizzare i link

Quindi se abbiamo tanti link e varie sezioni è meglio optare per un menu a scomparsa laterale
o ancora meglio un menu a schede con le anteprime delle sezioni

Credo che quest'altro esempio sia più funzionale in termini di navigabilità
Home more... flexbox
* Cliccate sulle immagini per ingrandire e vedere maggiori dettagli





Ho evitato la classica struttura colonna/corpo per visualizzare la pagina in modo più fluido
con qualunque dispositivo, realizzando dei box per i link, anteprima sezioni, articoli, ecc..., ecc...,
ed ecco le classi che ho scritto per i contenitori

[...]
/* Contenitore principale anteprime e contenuti */
div#box {
display: flex;
flex-direction: column;
justify-content: center;
}
/* Contenitore blocco box anteprime */
.flex-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
padding: 0;
margin: 0;
border: 0px;
}
/* Contenitori box anteprime nella prima riga*/
.flex-item {
padding: 10px;
width: 200px;
margin: 10px;
border: 1px solid #e7d5d1;
background-color: #f6f0ee;
font-weight: bold;
color: #8b5755;
font-size: 18px;
text-align: center;
}
/* Contenitori box anteprime nella seconda riga*/
.flex-item-box {
padding: 10px;
margin: 10px;
width: 200px;
border: 1px solid #e7d5d1;
background-color: #ffffff;
color: #8b5755;
font-size: 18px;
text-align: center;
}

In questo caso ho realizzato un contenitore unico per la presentazione dello spazio (* Spazio corpo *)
un contenitore principale (div#box) per inserire due "blocchi" con i box delle anteprime, oltre al parametro
display: flex; ho aggiunto flex-direction: column; affinché gli elementi siano disposti in colonna,
e nel contenitore (.flex-container) che li racchiude ho utilizzato flex-wrap: wrap; per renderli flessibili,
cioè si disporranno su più righe in base allo spazio disponibile rispetto al dispositivo con cui si accede,
.flex-item è la classe per la prima riga di elementi mentre .flex-item-box per la seconda

Le classi richiamate nella pagina

<div id="box">
<div class="flex-container">
<div class="flex-item">***</div>
<div class="flex-item">***</div>
<div class="flex-item">***</div>
<div class="flex-item">***</div>
<div class="flex-item">***</div>
</div>

<div class="flex-container">
<div style="flex-grow: 2" class="flex-item-box">***</div>
<div style="flex-grow: 3" class="flex-item-box">***</div>
<div class="flex-item-box">***</div>
</div>
</div>

In due elementi della seconda riga ho aggiunto flex-grow: affinché abbiano più spazio
in larghezza, il parametro in base al numero impostato suddivide lo spazio degli elementi
rispetto allo spazio del contenitore che li racchiude

Il risultato è molto carino, una volta che ci si prende la mano è anche divertente, sono sempre
stata in difficoltà ad usare i div per i layout, i parametri float e clear mi facevano impazzire ^_^'
Chissà se prima o poi almeno questa sezione del telaio diventerà responsive...

Se avete dato un'occhiata alle guide che vi consiglio, capirete che sarebbe insensato
e difficilissimo ri-scrivere qui codici ed esempi di tutte le proprietà disponibili di questo modello,
così come per le opzioni di layout/struttura che permette di realizzare

La struttura di un sito web deve essere progettata in base l'argomento trattato, affinché si possa
valutare quanti "spazi" siano necessari per i contenuti e la disposizione che dovranno avere nella pagina

Logo/nome del sito, uno o più menu di navigazione, corpo pagina e colonna/e
sono le parti essenziali che compongono la home di un sito web, occorrerà quindi lavorare man mano
per sviluppare il progetto che abbiamo pensato e potremmo farlo cercando nelle guide linkate sopra
o in rete esattamente ciò che ci occorre, iniziando dalla base per la struttura, la disposizione
dei vari elementi, i menu, ecc... con ricerche mirate tipo "layout flexbox" e si avranno a disposizione
tantissime guide con esempi e codici da personalizzare in base alle proprie esigenze

Spero di essere stata chiara in tutti i passaggi ^_^
Vi auguro buon lavoro ma sopratutto buon divertimento!
Ciao alla prossima^^ Penelope ♥


Dai un giudizio a questo tutorial... Grazie ^_^

💻 ✨ Apprezzato
40%
Voti totali: 1
Rating... 2




Commentario...

Scrivi qui per lasciare un saluto, una richiesta di aiuto,
un suggerimento o una critica ^_^









~ Pagina visitata da 142 utenti






Segui il telaio su Facebook

* Info sezione...

Mi farebbe molto piacere la condivisione
dei miei tutorial ma vi sarei anche molto grata
se evitaste di fare copia e incolla su altri spazi
del mio lavoro, linkate le pagine, avvisatemi
ricambierò senza problemi. Grazie ♥


Basi e utilità pagine web



html tag scrittura pagine web





Script per pagina



Script per gadget




Preleva anche tu una tag Help donna

Aiutami a diffondere il più possibile informazioni
utili alle donne vittime di abusi... Grazie!



Link del telaio...

ೡ Il telaio di Penelope
☆ Template webset e blog
☆ Un sito su AlterVista
☆ Gif & co...





I vostri messaggi...

Sabry ~ 10/03/2026 11:39:07
Io ti adoro ... vorrei tanto essere brava come te, ti seguo da anni e rimango sempre affascinata dalla tua astuzia e bravura e creativitá ♥ Prendo spunti ♥ Grazie di ♥
ૡScritto in Sfondo pagina
Gabriella ~ 09/03/2026 18:37:40
Ciao Penny, come sempre i tuoi lavori sono molto eleganti ,ne ho prelevato due per adesso ;) grazie
soleyada ~ 07/03/2026 22:02:27
Mi hai fatto tornare indietro nel tempo cara Penny, non smettere mai di splendere, è tutto stupendo qui, ti auguro il meglio, bacioni :-*
ૡScritto in Countdown Primavera
Cris ~ 24/02/2026 08:17:18
Ciao, e bentornata. Mi è sempre piaciuto il tuo bel sito. Ho creato da poco un blog, il tuo sito è il primo tra i miei preferiti.
ૡScritto in Home
MOra Ribelle ~ 16/02/2026 12:05:35
Buongiorno, contenta del tuo ritorno. Mi domando come metto anche io questo box saluti? grazie
ૡScritto in Gif & co...
Sari ~ 14/01/2026 17:31:32
Buon Anno Penelope. Ho prelevato un top pagina sostituendo quello natalizio. Tutto bello e utile qui, grazie.
Frann ~ 25/12/2025 15:09:37
Cara amica Penelope, ti auguro un Natale, con pace, amore e tanta gioia. Bacione ~ Frann
ૡScritto in Home
filod'arianna ~ 24/12/2025 08:50:20
Auguri di buon Natale Penelope, e a tutti i visitatori del Telaio 🎄✨😃
ૡScritto in Home
Sari ~ 18/12/2025 22:01:59
Ciao Penelope, ti seguo da anni e tanto ho imparato dalle tue lezioni: grazie. Ti auguro un Natale sereno e, nonostante i tempi che stiamo vivendo, in allegria. Buon Natale
ૡScritto in Home
filod'arianna ~ 14/12/2025 09:32:05
Ciao Penelope, ho preso un countdown Grazie mille per averli messi a disposizione, sono deliziosi! Ne userò più d'uno sicuramente:-)