2015-11-08 16 views
5

Ho cercato di allineare verticalmente il menu di navigazione. Ho provato display:table-cell; vertical-align: middle;, ma non lo farò. Non voglio applicare padding-top or margin top. Come faccio a fare questo?La navigazione non si allinea verticalmente

mio violino https://jsfiddle.net/Tokyo/27kquzm3/

+0

rimuovi float: left; nel selettore #cssmenu> ul> li –

+0

rimuovi il tuo margine: 0; 'al tuo' #cssmenu ul' –

+0

Prova ad usare l'altezza della linea –

risposta

3

devi dare display:table al ul e rimuovere float:left; e poi dare display:table-cell;vertical-align:middle; all'elemento li.

#cssmenu > ul > li { 
    display: table-cell; 
vertical-align: middle; 
} 

#cssmenu ul 
{ 
    display: table; 
    height: 100%; 
} 

Jsfiddle

+0

@Kami È tutto ciò che vuoi? Ho anche riparato il bordo superiore. Controlla [questo] (https://jsfiddle.net/alireza_safian/27kquzm3/3/) – Alex

+1

Grazie mille! Questo funziona perfettamente. Ma per qualche ragione, quando ho aggiunto il codice mentre fornivi il mio colore sulla barra di navigazione, rimosso automaticamente quando ridimensiono lo schermo, e inoltre mi dà scorrimento verticale. Per un momento, ti fornirò jsfiddle. – Kami

+0

Solo il navmenu di casa è colorato con il colore nero. Il resto del colore è scomparso per qualche motivo. Mi dispiace. Ho aggiunto il codice di query multimediale lì per mostrarti la mia versione di navbar mobile. Cosa succede ecco fiddle https://jsfiddle.net/alireza_safian/27kquzm3/1/ – Kami

3
#cssmenu{ 
width:100%; 
padding-top:13px; 
} 

Provalo.

+0

Per favore, leggi di nuovo la domanda. – Alex

+0

Mi dispiace, ma voglio evitare di aggiungere padding-top o margin top. – Kami

+0

il suo lavoro, bene. –

2

#cssmenu, 
 
#cssmenu ul, 
 
#cssmenu ul li, 
 
#cssmenu ul li a, 
 
#cssmenu #menu-button { 
 
    margin: 0; 
 
    padding: 0; 
 
    border: 0; 
 
    list-style: none; 
 
    line-height: 1; 
 
    display: block; 
 
    position: relative; 
 
    -webkit-box-sizing: border-box; 
 
    -moz-box-sizing: border-box; 
 
    box-sizing: border-box; 
 
} 
 
#cssmenu:after, 
 
#cssmenu > ul:after { 
 
    content: "."; 
 
    display: block; 
 
    clear: both; 
 
    visibility: hidden; 
 
    line-height: 0; 
 
    height: 0; 
 
} 
 
#cssmenu #menu-button { 
 
    display: none; 
 
} 
 
#cssmenu { 
 
position: fixed; 
 
    z-index: 5; 
 
    width: 100%; 
 
    max-width: 3200px; 
 
    top:0%; 
 
    text-align: center; 
 
    height: 90px; 
 
    box-shadow: 0 0 25px rgba(0,0,0,0.9); 
 
    background-color: rgba(14, 0, 0, 0.8); 
 
} 
 

 

 
#cssmenu > ul > li { 
 
    display: table-cell; 
 
    vertical-align: middle; 
 
} 
 

 
#cssmenu ul{ 
 
width:90%; 
 

 
    margin-left: auto; 
 
    margin-right: auto; 
 
    display: table; 
 
height: 100%; 
 
} 
 

 
#cssmenu li{ 
 

 

 
} 
 

 
#cssmenu.align-center > ul { 
 
    font-size: 0; 
 
    text-align: center; 
 
    width:500px; 
 
    border: 1px solid #fff; 
 
} 
 
#cssmenu.align-center > ul > li { 
 
    display: inline-block; 
 
    float: none; 
 

 
} 
 
#cssmenu.align-center ul ul { 
 
    text-align: left; 
 
} 
 
#cssmenu.align-right > ul > li { 
 
    float: right; 
 

 
} 
 
#cssmenu > ul > li > a { 
 
    padding: 17px; 
 
    font-size: 1.2em; 
 
    letter-spacing: 1px; 
 
    text-decoration: none; 
 
    color: #dddddd; 
 
    font-weight: 700; 
 
    display:table-cell; 
 
height: 90px; 
 
vertical-align: middle; 
 

 
} 
 
#cssmenu > ul > li:hover > a { 
 
    border-top: 4px solid #cd4650; 
 
    color: #cd4650; 
 

 
} 
 
#cssmenu > ul > li.has-sub > a { 
 
    padding-right: 30px; 
 
} 
 
#cssmenu > ul > li.has-sub > a:after { 
 
    position: absolute; 
 
    top: 22px; 
 
    right: 11px; 
 
    width: 8px; 
 
    height: 2px; 
 
    display: block; 
 
    background: #dddddd; 
 
    content: ''; 
 
} 
 
#cssmenu > ul > li.has-sub > a:before { 
 
    position: absolute; 
 
    top: 19px; 
 
    right: 14px; 
 
    display: block; 
 
    width: 2px; 
 
    height: 8px; 
 
    background: #dddddd; 
 
    content: ''; 
 
    -webkit-transition: all .25s ease; 
 
    -moz-transition: all .25s ease; 
 
    -ms-transition: all .25s ease; 
 
    -o-transition: all .25s ease; 
 
    transition: all .25s ease; 
 
} 
 
#cssmenu > ul > li.has-sub:hover > a:before { 
 
    top: 23px; 
 
    height: 0; 
 
} 
 
#cssmenu ul ul { 
 
    position: absolute; 
 
    left: -9999px; 
 
} 
 
#cssmenu.align-right ul ul { 
 
    text-align: right; 
 
} 
 
#cssmenu ul ul li { 
 
    height: 0; 
 
    -webkit-transition: all .25s ease; 
 
    -moz-transition: all .25s ease; 
 
    -ms-transition: all .25s ease; 
 
    -o-transition: all .25s ease; 
 
    transition: all .25s ease; 
 

 
} 
 
#cssmenu li:hover > ul { 
 
    left: auto; 
 
} 
 
#cssmenu.align-right li:hover > ul { 
 
    left: auto; 
 
    right: 0; 
 
} 
 
#cssmenu li:hover > ul > li { 
 
    height: 35px; 
 
} 
 
#cssmenu ul ul ul { 
 
    margin-left: 100%; 
 
    top: 0; 
 
} 
 
#cssmenu.align-right ul ul ul { 
 
    margin-left: 0; 
 
    margin-right: 100%; 
 
} 
 

 
/*submenu*/ 
 
#cssmenu ul ul li a { 
 
    border-bottom: 1px solid rgba(150, 150, 150, 0.15); 
 
    margin-top: 15px; 
 
    padding: 11px 15px; 
 
    width: 350px; 
 
    font-size: 1em; 
 
    text-decoration: none; 
 
    color: #dddddd; 
 
    font-weight: 700; 
 
    background: rgba(29, 15, 6, 0.7); 
 
} 
 

 
#cssmenu ul ul li { 
 
    border-bottom: 1px solid rgba(150, 150, 150, 0.15); 
 
    margin-top: 15px; 
 
    
 
    
 
} 
 
#cssmenu ul ul li:last-child > a, 
 
#cssmenu ul ul li.last-item > a { 
 
    border-bottom: 0; 
 
} 
 

 
/*submenu*/ 
 
#cssmenu ul ul li:hover > a, 
 
#cssmenu ul ul li a:hover { 
 

 
    color: #cd4650; 
 
} 
 
#cssmenu ul ul li.has-sub > a:after { 
 
    position: absolute; 
 
    top: 16px; 
 
    right: 11px; 
 
    width: 8px; 
 
    height: 2px; 
 
    display: block; 
 
    background: #dddddd; 
 
    content: ''; 
 
} 
 
#cssmenu.align-right ul ul li.has-sub > a:after { 
 
    right: auto; 
 
    left: 11px; 
 
} 
 
#cssmenu ul ul li.has-sub > a:before { 
 
    position: absolute; 
 
    top: 13px; 
 
    right: 14px; 
 
    display: block; 
 
    width: 2px; 
 
    height: 8px; 
 
    background: #dddddd; 
 
    content: ''; 
 
    -webkit-transition: all .25s ease; 
 
    -moz-transition: all .25s ease; 
 
    -ms-transition: all .25s ease; 
 
    -o-transition: all .25s ease; 
 
    transition: all .25s ease; 
 
} 
 
#cssmenu.align-right ul ul li.has-sub > a:before { 
 
    right: auto; 
 
    left: 14px; 
 
} 
 
#cssmenu ul ul > li.has-sub:hover > a:before { 
 
    top: 17px; 
 
    height: 0; 
 
}
<div id='cssmenu'> 
 
<ul> 
 
    <li><a class="first" href="#f">Home</a></li> 
 
<li><a class="introduction" href="#introduction">Intro</a></li> 
 
<li><a class="background" href="#background">Background <br>Placement </a></li> 
 
<li><a class="ira" href="#ira">illatruation & ira</a></li> 
 
<li><a class="corporate" href="#cusrporate">Corporate<br>View</a></li> 
 

 

 
      
 

 
</ul> 
 
</div>

+1

Grazie, anche questo ha funzionato! – Kami

Problemi correlati