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


 H: 
Buona Primavera e ...buona domenica!





* 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
con l'hosting free più famoso...



Gif  & co... Penelope ♥


Pagina Facebook
del telaio...




 

I vostri messaggi...

Grazia
02/03/2024 06:44:00
Ciao Penny cara,sono passata per augurarti buon sabato... complimenti per le novità ed un abbraccio forte! 😘♥
ೡ Scritto in... Il telaio di Penelope...
 
Cleo
24/02/2024 11:03:51
ciao tesoro ti auguro un buon fine settimana
ೡ Scritto in... Il telaio di Penelope...
 
Nonna Dani
22/02/2024 16:37:27
Bellissimo il tuo blog ho preso l'almanacco e il calendario. Complimenti. Ciao
ೡ Scritto in... Almanacco menu
 
Grazia
18/02/2024 17:18:01
Ciao carissima Penny, auguro anche a te una buona domenica, grazie di essere passata nel Taccuino ♥ Un abbraccio forte e serena serata...a presto!
ೡ Scritto in... Il telaio di Penelope...
 
Lula
15/02/2024 15:32:39
Ciao cara come stai? Spero bene sono passata per un saluto veloce ♥
ೡ Scritto in... Iframe
 
Grazia
07/02/2024 07:45:12
Ciao Penny cara, mentre continuo l'interminabile lavoro per il mio sitino nuovo, sono passata a lasciarti un salutino veloce ♥ Spero sia tutto ok :) Cerco di fare, nei limiti delle mie possibilità, molte cose in contemporanea, avendo tante passioni (a proposito, grazie del tuo voto alla mia poesia su Instagram ♥ ) e quindi sono come te sempre di corsa, ma le amiche vengono prima di tutto. Un abbraccio e mille complimenti come sempre!
ೡ Scritto in... Il telaio di Penelope...
 
Grazia
27/01/2024 08:50:44
Ciao Penny cara, sono passata per un salutino e per augurarti buon sabato ♥ Mentre lavoro con SharepointDesigner al nuovo spazio che ti dicevo di recente, un giro di saluti tra le amiche fa sempre piacere. Bacioni ♥
ೡ Scritto in... Il telaio di Penelope...
 
Penelope
21/01/2024 23:01:40
Cara Grazia WordPress è sicuramente la scelta migliore che si possa fare per avere uno spazio professionale semplice da gestire, conosco la piattaforma piuttosto bene e so che è anche molto versatile, per il mio telaio però preferisco un sito tradizionale mi piace trafficare con i codici ^_^ Un abbraccio forte a te
ೡ Scritto in... Iframe
 
Grazia
21/01/2024 08:21:23
Buongiorno e buona domenica Penelope! ❤️ Sai, io adoro come te i siti statici, ma per quel che riguarda gli spazi che personalmente costruisco con WordPress, sono tutti realizzati con software esterni acquistati di editing tecnico-grafico, nel mio caso non utilizzo le basi pronte fornite da Altervista, ma decido ogni singolo componente (anche la struttura interna delle pagine ecc.). Avevo bisogno di un blog per argomentare e WordPress era la scelta più professionale a disposizione! È sempre un piacere passare a trovarti, un abbraccio forte forte a te e ai ragazzi ed a presto
ೡ Scritto in... Iframe
 
Penelope
20/01/2024 22:57:04
Grazie carissima Grazia i tuoi complimenti sono davvero graditi, gli iframe sono una grande risorsa web e capire come utilizzarli al meglio può essere molto utile, spero ^_^ ho provato ad utilizzare WordPress con Altervista ma non fanno per me i cms, preferisco un sito indipendente da codici preimpostati Un abbraccio forte
ೡ Scritto in... Iframe
 

Referer...



Gestisci le opzioni di privacy