Pagina aggiornata... Mercoledì, 28 febbraio 2024 * Tempo di caricamento 0.05 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 607 utenti


 H: 
Buon Autunno !





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

Angel
17/10/2024 16:24:12
Mi perdo a guardare il tuo Telaio.. è bello, con tante cosine che mi mandano in estasi.. e me le porto via.. Sei brava! Ciao, auguroni di ogni bene.
ೡ Scritto in... Settimanelli... Una gif per ogni giorno della settimana
 
Sognografica
08/10/2024 00:07:16
Ciao cara Penelope è stato un piacere trovare i tuoi saluti nella mia chattina contraccambio con tutto il cuore e ti mando un forte abbraccio ^_^♥
ೡ Scritto in... Home
 
Sari
28/09/2024 11:38:22
Buongiorno Penelope,è sempre interessante passare dalle tue pagine e scoprire il frutto del tuo lavoro. L'autunno è già felicemente iniziato ma ne prenderò ugualmente uno... sono così carini.Grazie.
ೡ Scritto in... Countdown stagioni e feste
 
Gabriella
19/09/2024 11:36:38
Penny sono bellissimi ! Complimenti
ೡ Scritto in... Countdown stagioni e feste
 
Elise
08/09/2024 18:17:18
Ciao Penelope, sono ancora qui, mi piace il tuo Countdown di Halloween e l'ho inserito nel mio blog.Grazie , un abbraccione e buona domenica!!!Baci Elise
ೡ Scritto in... Countdown stagioni e feste
 
Elise
05/09/2024 17:06:43
Ciao Penelope, ho prelevato due adottini "amo l'Inverno", come sempre sei bravissima!!!!!Grazie un abbraccione e buona serataElise
ೡ Scritto in... I love Winter...
 
DanyGraphic
31/08/2024 05:19:19
Sono passata per un saluto ....è sempre un piacere navigare nel tuo sito. Buon fine settimana
ೡ Scritto in... Home
 
Elise
02/08/2024 09:42:01
Ciao Penelope, sono contenta che ti ricordi di me, ti dirò anche io sto poco al PC è un caldo veramente esagerato!!! Continuerò a seguirti , troppo belle le tue creazioni.Grazie un abbraccione e buona estate anche a te
ೡ Scritto in... Home
 
Elise
20/07/2024 16:43:26
Ciao Penelope, ho preso un tuo bellissimo bottone top Home, spero non ti dispiaccia.Ti ringrazio.Un abbraccioneElise
ೡ Scritto in... Bottoni top page tag e pixel
 
Elise
19/07/2024 12:02:47
Ciao Penelope, non so se ti ricordi di me, io è un pò che non vado sul blog, volevo solo dirti che che ho preso la stagione estate, sei bravissima Grazie e alla prossimaElise
ೡ Scritto in... Stagione attuale vintage...