Computer finestre Internet

Menu laterale con spostamento CSS. Creazione di un menu laterale scorrevole utilizzando puro CSS. Menu verticale con effetti al passaggio del mouse

In questo post realizzeremo un menu informativo laterale fisso. Per implementare le icone, collegheremo il carattere.

Passaggio 1. Collega il carattere con le icone, crea un documento vuoto

Puoi trovare informazioni dettagliate su come lavorare con il carattere FontAwesome e un collegamento al progetto stesso nel mio post -.

Ecco il codice della pagina con i file allegati:

Menù laterale fisso

Passaggio 2: aggiungi il markup HTML per il menu fisso

Ecco il codice di markup per il nostro menu fisso:

Come hai notato, ho applicato il tag

Passaggio 3. Aggiungi markup HTML per il sottomenu

Il sottomenu è lo stesso elenco del menu principale, più un tag , che mostra l'icona "carrello a sinistra", svolge la funzione di una sorta di "coda", maggiori dettagli nell'immagine qui sotto :)


Questo elemento collega anche il vuoto tra il blocco menu e il sottomenu, permettendoci così di implementare l'opzione di transizione.

Passaggio 4. Scrivi gli stili per il menu laterale fisso

Ho provato a commentare il codice di stile nei punti in cui è importante. In generale, tutti i punti non commentati si riferiscono alla banale stilizzazione dello sfondo, del colore, ecc.

#sidebar-menu ( posizione: fissa; /* corregge il nostro menu */ top: 200px; /* posizione del menu rispetto al bordo superiore del browser */ left: 0; /* attacca il menu al bordo sinistro * / imbottitura: 10px; sfondo: # 323A45; colore: #FFF; raggio bordo: 0 8px 8px 0; ) #sidebar-menu li ( posizione: relativa; cursore: puntatore; ) #sidebar-menu li i ( /* Imposta le icone con dimensione fissa, altezza e altezza della linea dovrebbero essere le stesse */ larghezza: 27px; altezza: 27px; altezza della linea: 27px; raggio del bordo: 4px; sfondo: #3CB7E7; allineamento del testo: centro; ) #sidebar-menu li+li (margin-top: 4px;) #sidebar-menu b ( display: none; posizione: assoluta; /* la posizione relativa al bordo sinistro è uguale alla larghezza dell'elemento li */ left: 27px; top: 0; altezza: 27px; /* larghezza è uguale allo spazio tra il menu del blocco e il sottomenu */ larghezza: 16px; altezza linea: 27px; sfondo: trasparente; colore: #323A45; /* posiziona l'icona stesso a destra in modo che appaia visivamente insieme al blocco del sottomenu */ text-align: right; ) #sidebar -menu li > ul ( display: none; posizione: assoluta; in alto: -10px; sinistra: 42px; larghezza: 120px; imbottitura: 10px; sfondo: #323A45; raggio del bordo: 8px; ) #sidebar-menu li:hover b, #sidebar-menu li:hover ul (display: blocco;) #sidebar-menu li a (display: blocco; riempimento: 4px 8px; raggio bordo: 4px; colore: #FFF ; -webkit-transition: tutti .2; -moz-transition: tutti .2; -ms-transition: tutti .2; -o-transition: tutti .2; transizione: tutti .2; ) #sidebar-menu li a :hover ( display: blocco; sfondo: #3CB7E7; )

Se hai domande sullo styling, scrivi nei commenti a questo post, sarò felice di risponderti.
È tutto! Menù laterale fisso pronto 🙂

Menù verticale effettuata sulla base di un elenco puntato o numerato. Per impostazione predefinita, tutti gli elementi dell'elenco sono disposti verticalmente, occupando l'intera larghezza dell'elemento contenitore, che a sua volta occupa l'intera larghezza del suo blocco contenitore.

Gli elementi dell'elenco possono contenere non solo collegamenti, ma anche intestazioni, icone e immagini. Utilizzando il menu verticale, puoi creare commenti sul sito, un elenco di categorie, ecc.

1. Menu verticale con intestazione

Opzione di design semplice ed elegante. Adatto per le categorie di stile su un sito Web. Quando si passa il mouse, l'elemento dell'elenco cambia il colore del collegamento.

Categorie

* (dimensionamento del riquadro: border-box; margine: 0;).widget (imbottitura: 20px 30px; sfondo: bianco; famiglia di caratteri: "Roboto", sans-serif; ) .widget-title (trasformazione del testo: maiuscolo ; spaziatura tra lettere: 2px; colore: #222; dimensione carattere: 16px; riempimento sinistro: 15px; margine inferiore: 15px; bordo sinistro: 2px solido #b99d61; ) .widget-list ( riempimento: 0; elenco -style: none; ) .widget-list a:before ( contenuto: "\2014"; margine destro: 14px; ) .widget-list a ( decorazione del testo: none; contorno: none; display: blocco; riempimento: 6px 0; spaziatura tra lettere: 1px; peso carattere: 300; colore: #444; transizione: .3s lineare; ) .widget-list a:hover (colore: #b99d61;)

2. Menu verticale in stile “mappa della metropolitana”

Una soluzione interessante per progettare un menu verticale; è possibile aggiungere menu nidificati. "Linea metropolitana" è il bordo sinistro dell'elenco, i contrassegni vengono generati prima di ciascun collegamento.

.metro ( stile elenco: nessuno; riempimento: 0; margine: 30px 0 0 50px; bordo sinistro: 5px solido #DAE4F1; ) .metro li (altezza linea: 2em;) .metro ul ( margine: 20px 0 20px 15px; riempimento: 0; bordo: nessuno; stile elenco: nessuno; ) .metro ul:prima, .metro ul:dopo ( contenuto: ""; larghezza: 5px; altezza: 28px; sfondo: #DAE4F1; posizione: relativa ; display: blocco; sinistra: -9px; ) .metro ul:prima ( trasformazione: rotazione (-45 gradi); margine superiore: -15px; ) .metro ul:dopo ( trasformazione: rotazione (45 gradi); fondo: -20px ; ) .metro ul li (bordo sinistro: 5px solido #DAE4F1;) .metro ul li:primo-figlio ( margin-top: -5px; imbottitura-top: 5px; ) .metro ul li:ultimo-figlio ( imbottitura -bottom: 9px; margin-bottom: -25px; ) .metro a ( decorazione del testo: nessuna; display: blocco; font-family: "Noto Sans", sans-serif; colore: #4A4B4D; ) .metro a: prima ( contenuto: ""; display: blocco in linea; sfondo: #CA682D; larghezza: 12px; altezza: 12px; sinistra: -9px; posizione: relativa; raggio bordo: 50%; margine destro: .5em; )

3. Menu verticale con effetti al passaggio del mouse

L'icona e il riempimento dello sfondo che appaiono quando passi il mouse sopra una voce dell'elenco aiuteranno a diversificare il design degli elementi del menu verticale.

Categorie

.category-wrap (imbottitura: 15px; sfondo: bianco; larghezza: 200px; box-shadow: 2px 2px 8px rgba(0,0,0,.1); font-family: "Helvetica Neue", Helvetica, Arial, sans -serif; ) .category-wrap h3 ( dimensione carattere: 16px; colore: rgba(0,0,0,.6); margine: 0 0 10px; riempimento: 0 5px; posizione: relativa; ) .category-wrap h3:dopo ( contenuto: ""; larghezza: 6px; altezza: 6px; sfondo: #80C8A0; posizione: assoluta; destra: 5px; fondo: 2px; box-ombra: -8px -8px #80C8A0, 0 -8px #80C8A0 , -8px 0 #80C8A0; ) .category-wrap ul ( stile elenco: nessuno; margine: 0; riempimento: 0; border-top: 1px solid rgba(0,0,0,.3); ) .category- wrap li (margine: 12px 0 0 0px;) .category-wrap a ( decorazione del testo: nessuna; display: blocco; dimensione carattere: 13px; colore: rgba(0,0,0,.6); imbottitura: 5px ; posizione: relativa; transizione: .3s lineare; ) .category-wrap a:after ( content:"\f18e"; font-family: FontAwesome; posizione: assoluta; destra: 5px; colore: bianco; transizione: .2s lineare ; ) .category-wrap a:hover ( background: #80C8A0; colore bianco; )

4. Menù verticale con icone

Le icone dei menu creano un'ancora visiva, integrando la descrizione verbale di ciascuna categoria. Per visualizzare le icone è necessario connettersi. Puoi anche utilizzare qualsiasi altro carattere di icona o icone di immagini.

Categorie

* (box-sizing: border-box; margin: 0;).widget (imbottitura: 20px; border: 5px solid #f1f1f1; background: #fff; border-radius: 5px; font-family: "Roboto", sans- serif; ) .widget h3 ( margine inferiore: 20px; allineamento testo: centro; dimensione carattere: 24px; peso carattere: normale; colore: #424949; ) .widget ul ( margine: 0; riempimento: 0; elenco -style: none; larghezza: 250px; ) .widget li ( border-bottom: 1px solido #eaeaea; padding-bottom: 15px; margin-bottom: 15px; ) .widget li:last-child ( border-bottom: none; margin-bottom: 0; padding-bottom: 0; ) .widget a ( decorazione del testo: nessuna; colore: #616a6b; display: inline-block; ) .widget li:before ( font-family: FontAwesome; font-size : 20px; vertical-align:bottom; colore: #dd3333; margine destro: 14px; ) .widget li:nth-child(1):prima (content:"\f1fc";) .widget li:nth-child( 2):prima (contenuto:"\f0d0";) .widget li:nth-child(3):prima (contenuto:"\f0cd";) .widget li:nth-child(4):prima (contenuto:" \f028";).widget li:nth-child(5):prima (contenuto:"\f03d";)

5. Menu verticale con immagini

Questo esempio può essere utilizzato per progettare blocchi con nuovi prodotti, prodotti simili, ecc. sito web del negozio online.

JPEG">

Prodotto 1
₽ 2000
Prodotto 2
₽2500
Prodotto 3
₽ 2070
@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600"); .col ( larghezza: 300px; sfondo: bianco; imbottitura: 20px; bordo: 1px solido #eeeeee; font-family: "Open Sans", sans-serif; ) .col * (margine: 0;).widget-title ( margine: 0 0 30px; altezza linea: 1; trasformazione testo: maiuscolo; spaziatura lettere: 1px; dimensione carattere: 20px; colore: #242424; overflow: nascosto; ) .widget-title:after ( content: " "; posizione: relativa; visualizzazione: blocco in linea; larghezza: 100%; allineamento verticale: centro; destra: -15px; margine destro: -100%; bordo superiore: 2px solido #cca86d; ) .price-line (margin-bottom: 20px;).price-line:last-child (margin-bottom: 0;).price-line:after ( contenuto: ""; display: tabella; cancella: entrambi; ) .immagine-prodotto ( larghezza: 80px; float: sinistra; ) .immagine-prodotto a ( display: blocco; contorno: nessuno; ) .immagine-prodotto img ( display: blocco; larghezza: 100%; ) .contenuto-prodotto ( float: sinistra; margine -left: 20px; ) .product-title ( dimensione carattere: 18px; margine inferiore: 10px; altezza linea: 1; ) .product-title a ( decorazione testo: nessuna; colore: # 242424; ) .price -scatola (colore: #666; dimensione carattere: 18px; altezza della riga: 1; ) .star-rating ( margin-bottom: 10px; font-size: 13px; posizione: relativa; font-family: "FontAwesome"; ) .star-rating:before ( content: "\f005 \f005 \f005 \f005 \ f005"; posizione: assoluta; in alto: 0; a sinistra: 0; colore: #FF9919; )

Continuando con esempi di vari elementi dell'interfaccia utente del sito Web che possono essere realizzati senza Javascript, oggi descriverò come creare un menu a scorrimento utilizzando puro CSS.

E ancora DEMO, per cominciare.

Iniziamo con HTML-strutture:

Abbiamo bisogno di input per determinare la visibilità del menu: ovvero, se è selezionato, il menu è visibile e viceversa.

label è il nostro pulsante hamburger associato all'input.

ul – il blocco del menu stesso.

Ora CSS(scritto solo per browser WebKit: Opera 16+, Safari, Chrome).

Il nostro menù:

Menu nascosto (visualizzazione: blocco; posizione: fissa; stile elenco: nessuno; riempimento: 10px; margine: 0; dimensioni del riquadro: border-box; larghezza: 200px; colore di sfondo: #eee; altezza: 100%; in alto: 0; sinistra: -200px; transizione: sinistra .2s; z-index: 2; -webkit-transform: TranslateZ(0); -webkit-backface-visibility: nascosto; )

C'è molta libertà per le persone creative qui, ma i parametri principali sono larghezza e sinistra. Devono avere lo stesso valore, ma a sinistra è negativo. Pertanto, nascondiamo il nostro menu a sinistra dello schermo. Ho anche aggiunto un'animazione di transizione: left .2s per rendere più bello il processo di uscita dallo schermo.

La nostra casella di controllo:

Ticker del menu nascosto ( display: nessuno; )

Lo rendiamo semplicemente invisibile.

Pulsante hamburger:

Btn-menu ( colore: #fff; colore di sfondo: #666; riempimento: 5px; posizione: fissa; superiore: 5px; sinistra: 5px; cursore: puntatore; transizione: sinistra .23s; z-index: 3; larghezza: 25px; -webkit-transform: TranslateZ(0); -webkit-backface-visibility: hidden; ) .btn-menu span ( display: block; altezza: 5px; background-color: #fff; margine: 5px 0 0; transizione : tutti .1s lineari .23s; posizione: relativa; ) .btn-menu span.first ( margine-superiore: 0; )

Puoi anche progettarlo come preferisci. Ho realizzato un semplice pulsante grigio con strisce bianche nell'angolo in alto a sinistra. Qui ho aggiunto anche animazioni per il pulsante stesso e per le strisce (solo per bellezza).

Ora, la cosiddetta “magia”:

Ticker del menu nascosto: selezionato ~ .btn-menu ( a sinistra: 160px; ) .ticker del menu nascosto: selezionato ~ .menu-hidden ( a sinistra: 0; ) .ticker del menu nascosto: selezionato ~ .btn-menu span.first ( -webkit-transform: ruota (45 gradi); top: 10px; ) .hidden-menu-ticker:selezionato ~ .btn-menu span.second ( opacità: 0; ) .hidden-menu-ticker:selezionato ~ .btn-menu span.third ( -webkit-transform: ruota (-45 gradi); superiore: -10px; )

I selettori CSS3 ci permettono di determinare lo stato di una casella di controllo e di applicare, in base a questo, alcune proprietà per gli elementi vicini: controllato ~ . In questo esempio, con un input “checked”, spostiamo il menu button.hidden-menu-ticker:checked ~ .btn-menu a sinistra di 160 pixel, il menu sul bordo sinistro.hidden-menu-ticker:checked ~ .menu-nascosto . Gli stili rimanenti sono scritti per le strisce del pulsante menu, in modo che quando premuti si trasformino in una croce e viceversa.

Al momento, usando jQuery puoi fare qualsiasi cosa su un sito web, devi solo decidere se il tuo sito ne ha bisogno. Ci sforziamo tutti di rendere il sito il più user-friendly possibile, in modo che sia piacevole per lui navigare nel sito e sia il più semplice possibile. Il menu gioca un ruolo importante quando un visitatore “cammina” attraverso il tuo sito. E in questo tutorial creeremo un menu scorrevole che può nascondersi e apparire quando l'utente ne ha bisogno.

Interessanti anche i menù scorrevoli:

Un esempio può essere visto qui:

Scaricamento

In questo tutorial utilizzeremo il plugin jQuery - "jQuery.mmenu.js". Può essere scaricato dal collegamento - download.

Come usare?

Parte HTML

Innanzitutto, colleghiamo le librerie e gli stili necessari:

1 2 3 4 5 <tipo di collegamento = "testo/css" rel = "foglio di stile" href = "css/jquery.mmenu.css" / > <tipo di collegamento = "testo/css" rel = "foglio di stile" href = "css/demo.css" / > <tipo script = "testo/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"> <tipo di script = "testo/javascript" src = "js/jquery.mmenu.js" >

Poi decideremo la struttura del menù. Ad esempio, per mostrare come funziona, creerò un menu con elementi nidificati. Ma il tuo potrebbe essere più semplice:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

Un po' sopra il menu inseriremo un interruttore in modo che l'utente possa aprirlo/chiuderlo:

Abbiamo finito con la struttura HTML, ora passiamo agli stili.

Come Menu di navigazione sul posto, menu del profilo utente ecc. possono essere nascosti e appariranno quando si fa clic e si passa il mouse. Qualcuno potrebbe dire che ciò influisce sull’usabilità della pagina. Non credo, perché la pagina diventa più pulita, il che significa che è più facile navigare. Una persona non si confonde in una montagna di collegamenti.
Oggi ho preparato una raccolta pannelli scorrevoli, che sono nascosti nella pagina per impostazione predefinita. Chiamare menù, è necessario fare clic o passare il mouse sopra l'icona corrispondente. Questa tecnica è arrivata al web design dalle applicazioni mobili, dove è impossibile disporre molti elementi su uno schermo. Nel corso del tempo, tali pannelli sono migrati sui siti web. Questa raccolta sarà utile, prima di tutto, agli sviluppatori mobili. Con una risoluzione dello schermo bassa questo è ciò che apparirà. navigazione in uscita e su monitor normali e di grandi dimensioni puoi creare il solito menu a cui tutti sono abituati. In questo modo, una persona con un dispositivo mobile non si confonderà nel tuo sito, poiché è abituata a utilizzarlo da tempo pannelli scorrevoli, perché tutte le applicazioni del suo smartphone funzionano secondo lo stesso principio.
Vorrei sottolineare che questa raccolta include plugin, che sono affilati solo per siti mobili e su monitor ampi il loro utilizzo risulterà inappropriato. Sebbene esistano anche pannelli universali adatti a qualsiasi sito web. Guarda la demo e scegli ciò che si adatta alle tue esigenze.
I pannelli a discesa funzionano su . Implementare un menu di questo tipo sul tuo sito web non sarà difficile e i siti web degli sviluppatori contengono istruzioni dettagliate su come utilizzare il loro prodotto.
Presto stiamo pianificando una riprogettazione del sito web Postovoy e utilizzeremo uno dei plugin jquery che vengono presentati di seguito.
COSÌ. Portiamo alla vostra attenzione una raccolta di 20 plugin per il pannello scorrevole a discesa jquery per il tuo sito web. Non dimenticare di lasciare commenti.

Menu laterale scorrevole
Bel menu di navigazione scorrevole in jquery sotto forma di pannello scorrevole. Ideale sia per un sito mobile che per uno normale.

Transizioni per navigazioni fuori schermo
Un plugin estremamente potente che ti consente di organizzare un pannello scorrevole, che verrà visualizzato con vari effetti di animazione, incluso il 3D. Il plugin include 14 effetti di animazione.

jPanelMenu
Il pannello di navigazione è progettato nello stile delle applicazioni iOS. Un menu facile e veloce che faciliterà lo sviluppo di un sito mobile.

Ricrea il menu di Google Nexus
Il pannello scorrevole è realizzato per analogia con il menu di Google Nexus.

bigSlide: barra di navigazione delle diapositive in Jquery
Il pannello scorrevole è adatto sia per un sito mobile che per uno normale. Per richiamarlo è necessario cliccare sull'icona raffigurante tre strisce.

Menu a pressione multilivello
Il plugin Jqutry funziona in modo simile a bigSlide. Il pannello viene richiamato cliccando sull'icona. Il vantaggio di questo menu è che supporta una struttura a più livelli.

Menù principale della scatola
Una bellissima barra di navigazione con effetto 3D.

Menu con bordi animati
Facendo clic sul segno più nell'angolo dello schermo, viene visualizzata una piccola barra laterale con icone. Per nasconderlo è necessario fare clic sull'icona con il simbolo "-".

Snap.js
Il pannello scorrevole è progettato per dispositivi mobili. Il menu si richiama trascinando lo schermo con il cursore del mouse o, se su dispositivo mobile, con un dito.

Menu Scorri e Premi
|

Meny
Un plugin Jquery che ti consente di implementare una fantastica barra di scorrimento di navigazione con un effetto 3D sul tuo sito web.

mb.jquery
A differenza di altri pannelli, appare nella parte superiore dello schermo anziché spostarlo. Puoi inserire qualsiasi codice HTML, testo o qualsiasi cosa tu voglia nel blocco.

Dock Android
Il pannello è progettato per i siti mobili e si trova nella parte inferiore dello schermo. Quando si fa clic, vengono visualizzate le icone in cui è possibile inserire eventuali collegamenti.

Pannello scorrevole con contenuto
Il fantastico pannello scorrevole è progettato su due livelli. Il primo è il menù. Il secondo è il contenuto. Ora questo effetto è molto popolare tra designer e sviluppatori web. Puoi trovare molte applicazioni. Il mailer di Microsoft funziona secondo un principio simile.