Pagina aggiornata... Mercoledì, 28 febbraio 2024 * Tempo di caricamento 0.94 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 ^_^




80%
Voti totali: 1
Rating... 5





Commentario...

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

Nickname
Home page
B i U   ^_^ o_O O_O *_* Gif...

  


~ Pagina visitata da 375 utenti


 H: 
Felice Estate e ...buona domenica!





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 ::..



..:: html ::..





..:: Script page ::..



..:: Script gadget ::..



Accessori e gadget del telaio...


Spazio web...

Realizzare e gestire un sito web
nell'hosting free più famoso...

Un sito su Altervista

Materiale grafico

Gif, mini gif, pixel, immagini, png...
Tutto il materiale grafico che ti serve,
raccolto e messo a tua disposizione!

Gif & co...




I vostri messaggi...

Miryam
07/06/2024 15:32:30
Ciao Penelope, sono venuta a sbirciare il tuo sito dopo aver visto un tuo commento sul blog di Arwen. Penso proprio che userò qualcuna delle tue fatine per uno dei miei siti prossimamente... Ti terrò informata! Torno a trovarti... Buon weekend!
ೡ Scritto in... Home
 
Sabry
27/05/2024 09:09:32
Grazie per tutto, ti seguo da anni ormai e ammiro molto il tuo lavoro ... ho preso con piacere dei tuoi gadget ♥
ೡ ...commentario
 
Lu
23/05/2024 20:47:56
Grazie mille per il suggerimento, cara Penelope! Ci proverò finché non ci riuscirò. Quando sarà pronto te lo mostrerò.
ೡ Scritto in... Home
 
ೡPenelope ♥
23/05/2024 19:53:31
Ciao Lu puoi utilizzare una table o un div a cui inserire la tua immagine come sfondo, qui c'è il tutorial per le table [Link] si procede nello stesso modo nei div con background-image, e poi inserisci il codice del calendario, nella cella della table o all'interno del div
ೡ Scritto in... Calendario perpetuo
 
Lu
23/05/2024 18:59:24
Buon pomeriggio Penelope. Per favore, come faccio a inserire questo calendario in un tag, in modo che abbia un'immagine di sfondo?
ೡ Scritto in... Calendario perpetuo
 
Lu
22/05/2024 18:07:10
Ciao cara Penelope!Ho appena portato uno dei tuoi banner sul mio blog. Un abbraccio, buon pomeriggio!
ೡ Scritto in... Banner link del telaio ^_^
 
Rakel
21/05/2024 18:24:29
Ciao Penelope ho curiosato sul tuo blog ed ho trovato molte cose carine.Ho prelevato un Almanacco.Grazie
ೡ Scritto in... Almanacco trasparente
 
Cleo
21/05/2024 15:22:46
Buon compleanno tesoro [Link]
ೡ Scritto in... Home
 
Lu
20/05/2024 22:37:37
Che bello, ho trovato un pulsante che corrisponde al mio blog, l'ho già installato e sembra perfetto! Grazie mille per gli ottimi tutorial, amica Penelope!!
ೡ Scritto in... Bottoni top pagina
 
Lu
18/05/2024 17:03:22
Ciao cara Penelope! Che carini e delicati questi cursori, adoro quando porti cose che possono essere usate anche su Blogger ♥
ೡ Scritto in... Mini cursori
 





Gestisci le opzioni di privacy