Eccoci nel cuore del nostro esempio, la parte CSS
partiamo dalla root e giu fino a vedere tutte le classi proposte nell'esempio:
Codice PHP:
form.tab-form {
overflow: hidden;
}
forziamo il contenuto del nostro form all'interno della dimensione stessa del form
Codice PHP:
.tab-form {
box-shadow: 0 -2px 3px -2px rgba(0,0,0,0.2), 0 2px 2px rgba(0,0,0,0.1);
border-radius: 0 3px 3px 3px;
}
semplicemente diamo un bordo al nostro contenitore
Codice PHP:
.tab-form fieldset {
border: 1px solid #eee;
width: 100%;
display: none;
}
!!molto importante!! nascondiamo i contenuti (fieldset) del form che prevede l'uso delle tabs, questi contenuti verranno visualizzati a seconda del radio-button selezionato
Codice PHP:
.tabs {
height: 40px;
padding: 0 1%;
float: left;
display: none;
width: 30%;
cursor: pointer;
}
classe generica che identifica i nostri pulsantini (radio-button). Nella visualizzazione finale questi non sono visibili e sono coperti dalle relative etichette (label) ma ci sono.
Codice PHP:
input.tabs:hover + label {
background-color: #ccc;
}
un po' di stile al nostro menù, cambiamo il background delle etichette al :hover del mouse. Il simbolo "+" seleziona l'etichetta più vicina all'input. Quindi: "Cambia il background della label direttamente a fianco all'input con la classe .tabs".. Approfondisci
Codice PHP:
input.tabs:checked + label {
background-color: #f0f0f0;
}
ancora un po' di stile, distinguiamo i pulsanti "cliccati" da quelli non cliccati.. emuliamo il corrispettivo di :active per i link
Codice PHP:
.tab-label {
background: linear-gradient(top, #5ba4a4 0%,#4e8c8a 100%);
line-height: 40px;
height: 40px;
padding: 0 1%;
float: left;
display: block;
width: 30%;
color: #385c5b;
letter-spacing: 1px;
text-transform: uppercase;
font-weight: bold;
text-align: center;
text-shadow: 1px 1px 1px rgba(255,255,255,0.3);
border-radius: 3px 3px 0 0;
cursor: pointer;
}
un po' di stile per le nostre etichette. Da notare che le dimensioni delle label sono identiche alle dimensioni dei radio-button, la label deve coprire il radio button
Codice PHP:
input.tab-selector-1:checked ~ fieldset.content-1,
input.tab-selector-2:checked ~ fieldset.content-2,
input.tab-selector-3:checked ~ fieldset.content-3 {
display: block;
}
ed ecco la magia....
Sfruttiamo il selettore ~ per riferirci a "tutti i fieldset con classe content-1 che sono preceduti da un input con classe tab-selector-1 il quale deve essere selezionato (:checked)"
Il selettore ~ funziona solamente con tags che condividono la stessa root quindi fate molta attenzione alla vostra struttura