|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Apr 2012
Messaggi: 56
|
[HTML+CSS]Problema menù
Ho creato un menù a comparsa a cascata per prendere mano ai tag <ul> e <li>. L'unico problema è che quando imposto il border-right-style e border-left-style pari a un 1px nel css, l'elenco appare spostato di qualche px a destra. Nel css ho resettato tutti i tag. Vorrei che il menù comparisse inquadrato giusto.
Codice HTML Codice HTML:
<html> <head> <link rel="stylesheet" type="text/css" href="Stile.css" /> </head> <body name="pagina" onLoad="leggiEmoticon()"> <div id="contenitore"> <div id="header"> <h1>Titolo della Pagina</h1> </div><!--FINE DIV HEADER--> <div id="nave" style="overflow:visible; height:30px; valign:middle"> <ul id="menu"> <li><a href="#">Serie A</a></li> <li><a href="#">Serie B</a></li> <li><a href="#">CSI</a> <ul> <li style="border-top:1px solid;"><a href="#">G&B United</a></li> <li><a href="#">Marcaria</a></li> <li><a href="#">Commessaggio</a></li> </ul> </li> </ul> <div style="clear:both"></div> </div><!--FINE DIV NAV--> <div id="col-sx"> COLONNA SINISTRA </div><!--FINE DIV COL-SX--> <div id="col-centro"> QUESTA E' LA COLONNA CENTRALE<br /> </div><!--FINE DIV COL-CENTRO--> <div id="col-dx"> Ciao come va? </div><!--FINE DIV COL-DX--> <div id="footer"> FOOTER </div><!--FINE DIV FOOTER--> </div><!--FINE DIV CONTENITORE--> </body> </html> Codice:
/* RESET CSS */ div { padding:0; } h1 { margin: 0; padding: 0; } ul { list-style:none; margin:0; padding:0; } li { margin:0; padding:0; } /* GENERALE */ body { font:15px Calibri; background: #000 } /* CONTENITORE */ div#contenitore { margin:0 auto; background:#fff; width:940px; padding:10px; } /* TESTATA */ div#header { background:#40f; float:left; width:920px; padding: 10px; } /* MENU */ div#nave { width:940px; float:left; background:#555; margin-top:2px; } ul#menu li { float:left; margin-right:5px; width:150px; text-align:center; border:1px #000 solid; } ul#menu li a { display:block; background:#ddd; color:#444; text-decoration:none; padding:5px 20px; } ul#menu li a:hover { background:#f00; color:#fff; font-weight:bold; } ul#menu li ul { display:none; } ul#menu li:hover ul { display:block; position:absolute; z-index: 2; } ul#menu li ul li { float:none; border-top-style:none; border-left-style:none; border-right-style:none; border-bottom-style:1px; } /* COLONNA SINISTRA */ div#col-sx{ background:#f00; width:231px; float:left; padding:5px; margin:2px 0; margin-right:2px; height: 400px; } /* COLONNA CENTRALE */ div#col-centro{ background:#ff0; float:left; width:511px; padding:5px; margin:2px 0; margin-right:2px; height: 400px; } /* COLONNA DESTRA */ div#col-dx{ background:#719; width:164px; float:left; padding:5px; margin:2px 0; height: 400px; background-color:rgba(255,100,100,0.7); } /* FOOTER */ div#footer { background:#042; width:940px; clear:both; } |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Da che ne so io il border-left-style serve ad indicare con che trama viene tracciato il bordo, non quanto deve essere spesso.
Per quello si usa border-left-width. Inoltre, devi tenere conto che vai a usare 1px della larghezza totale dell'elemento, quindi dovrai poi posizionare gli elementi di conseguenza ( ad esempio il padding sarà 1px in meno di quello che desideri ). EDIT: Attenzione anche a questo: Codice:
ul#menu li { float:left; margin-right:5px; width:150px; text-align:center; border:1px #000 solid; } Per ovviare al problema: Codice:
ul#menu li { float:left; /* margin-right:5px;*/ width:150px; text-align:center; border:1px #000 solid; border-left:none; } ul#menu li:first-child { border-left: 1px #000 solid; }
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
Ultima modifica di kwb : 01-03-2013 alle 15:37. |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Apr 2012
Messaggi: 56
|
Ti ringrazio per i consigli perchè è sempre un'esperienza in più. Per quanto riguarda il margin-right:5px l'ho messo apposta perchè li volevo staccati e non uniti.
Per il mio problema penso che il border-style andasse bene lo stesso perchè credo che prendesse come riferimento un border dell'elemento padre ul#menu li, comunque anche col border-width mi dà lo stesso problema. Ho risolto impostando un margin-left:-1px. Ora io pensavo che dovesse essere di -2px perchè il bordo di 1px riguarda sia il destro che il sinistro, ma così il menù risultava spostato di 1px dall'altra parte. Si vede che è una piccola incongruità che si viene a creare |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Apr 2012
Messaggi: 56
|
Ti ringrazio per i consigli perchè è sempre un'esperienza in più. Per quanto riguarda il margin-right:5px l'ho messo apposta perchè li volevo staccati e non uniti.
Per il mio problema penso che il border-style andasse bene lo stesso perchè credo che prendesse come riferimento un border dell'elemento padre ul#menu li, comunque anche col border-width mi dà lo stesso problema. Ho risolto impostando un margin-left:-1px. Ora io pensavo che dovesse essere di -2px perchè il bordo di 1px riguarda sia il destro che il sinistro, ma così il menù risultava spostato di 1px dall'altra parte. Si vede che è una piccola incongruità che si viene a creare |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Apr 2012
Messaggi: 56
|
Ti ringrazio per i consigli perchè è sempre un'esperienza in più. Per quanto riguarda il margin-right:5px l'ho messo apposta perchè li volevo staccati e non uniti.
Per il mio problema penso che il border-style andasse bene lo stesso perchè credo che prendesse come riferimento un border dell'elemento padre ul#menu li, comunque anche col border-width mi dà lo stesso problema. Ho risolto impostando un margin-left:-1px. Ora io pensavo che dovesse essere di -2px perchè il bordo di 1px riguarda sia il destro che il sinistro, ma così il menù risultava spostato di 1px dall'altra parte. Si vede che è una piccola incongruità che si viene a creare |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Apr 2012
Messaggi: 56
|
Sto facendo le prove con Chrome.
Ma allora con le mie prime istruzioni css il secondo elenco non sarebbe spostato di 5px piuttosto di 1px? |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Gli elementi dal secondo in poi sono spostati di 5 px + 2px di bordo ( destro dell'elemento di sinistra e sinistro dell'elemento di destra ).
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:21.