16 messaggi dal 30 gennaio 2008
Ciao a tutti, grazie per le risposte precedenti.
Sto tentando di trasformare i semplici menu orizzontali del mio sito con dei menu a tendina.
(web application realizzata con visual studio 5 - vb.net -files .aspx)
In fondo vi allego il codice.
1) secondo voi va bene?

Leggo però che ci sarebbe una mancata compatibilità con Internet Explorer, che non supporterebbe la proprietà hover per elementi che non siano i link. Quindi, se capisco bene, applicando come faccio io la proprietà :hover agli elementi LI o UL il menu darebbe problemi (li:hover )!?
2) vero o no che non funziona con Ie?
3) se vero, con quali versioni non funziona? Ie6 -, Ie, Ie+ ???
4) come ovviare?
5) e con gli altri browser?
6) quali problemi: non funziona proprio il menu, non scende la tendina, o solo ad es. non cambia colore?

Inoltre:
così com'è a me pare che funzioni (1 livello di tendina) ma non riesco a realizzare un secondo livello.
7) Qualche suggerimento?

Scusate ma sono agli inizi...
Grazie per l'aiuto!
Tappat

file index.aspx
... ...
<div id="menu">
<ul>
<li><a href="#">Menu 1</a>
<ul>
<li><a href="#">sub 1a</a></li>
<li><a href="#">sub 1b</a>
<ul>
<li><a href="#">sub sub 1b-1</a></li>
<li><a href="#">sub sub 1b-2</a></li>
<li><a href="#">sub sub 1b-3</a></li>
</ul>
</li>
<li><a href="#">sub 1c</a></li>
</ul>
</li>
... ...
menu.css
... ...
.menu{
float: left;
}
.menu ul{
list-style:none;
margin:0;
padding:0;
}
.menu li{
float:left;
padding:0px;
}
.menu li a{
display:block;
font-weight:normal;
line-height:30px;
margin:0px;
padding:0px 15px;
text-align:center;
text-decoration:none;
color: #FFFFFF;
}
.menu li.current a{
display: block;
font-weight: normal;
line-height: 30px;
margin: 0px;
padding: 0px 15px;
text-align: center;
text-decoration: none;
color: #FFFFFF;
background-position: center bottom;
background-image: url(../images/current.png);
background-repeat: repeat-x;
}
.menu li a:hover, .menu ul li:hover a{
background: url(../img/hov.jpg) #ddd no-repeat bottom center;
color:#FFFFFF;
text-decoration:none;
}
.menu li ul{
background:#2F3130;
display:none;
height:auto;
padding:0px;
margin:0px;
border:0px;
position:absolute;
width:225px;
z-index:200;
}
.menu li:hover ul{
display:block;
}
.menu li li{
display: block;
float: none;
margin: 0px;
padding: 0px;
width: 225px;
background-image: url(../img/separ.gif);
background-repeat: no-repeat;
background-position: left bottom;
border-bottom: #FFFFFF 2px ridge;
}
.menu li:hover li a{
background:none;
}
.menu li ul a{
display:block;
height:30px;
font-size:10px;
font-style:normal;
margin:0px;
padding:0px 10px 0px 15px;
text-align:left;
}
.menu li ul a:hover, .menu li ul li:hover a{
background: url(../img/hov_sub.png) #bbb no-repeat left center;
border: 0px;
color: #ffffff;
font-size: 10px;
text-decoration: none;
}




710 messaggi dal 13 novembre 2008
Contributi
il problema che io sappia si verifica col controllo Menù, ma tu fai tutto con css...


non posso ora mettere su in prova il tuo codice, ma la parte aspx riguardante il menù non è finita lì vero?
16 messaggi dal 30 gennaio 2008
scusate, ho incollato il testo sbagliato.
questo è il codice del file aspx che riguarda il menu
<div class="menu">
<ul>
<li><a href="#">titolo A</a></li>
<li><a href="#" id="current">titolo B</a>
<ul>
<li><a href="#">sub titolo B-1</a>
<ul>
<li><a href="#">sub sub titolo B-1-1</a></li>
<li><a href="#">sub sub titolo B-1-2</a></li>
</ul>
</li>
<li><a href="#"> sub titolo B-2</a></li>
<li><a href="#"> sub titolo B-3</a></li>
<li><a href="#"> sub titolo B-4</a></li>
</ul>
</li>
<li><a href="#">titolo C</a>
<ul>
<li><a href="#"> sub titolo C-1</a></li>
<li><a href="#"> sub titolo C-2</a></li>
</ul>
</li>
</ul>
</div>
710 messaggi dal 13 novembre 2008
Contributi
si c'è un hack per IE

qui hai una soluzione


http://ago.tanfa.co.uk/css/examples/menu/tutorial-h.html
710 messaggi dal 13 novembre 2008
Contributi
p.s. la struttura corretta per subsubmenù è questa

<div class="menu">
<ul>
<li><a href="#">titolo A</a>


<ul>
<li><a href="#">titolo A-1</a>

<ul>
<li><a href="#">titolo A-1-1</a>
</li>
</ul>


</li>
</ul>

</li>
</ul>

</div>


ma nel css devi impostare correttamente le proprietà per


#menu ul ul

#menu ul ul ul



e l'hack per IE

vediti il link di prima
16 messaggi dal 30 gennaio 2008
Grazie.
Ho sistemato la struttura. ho visto anche il sito che mi hai indicato. Ho inserito i commenti per Iexpl.
Sono riuscito a fare un menu a tre livelli( Menu a sfondo nero, hover sfondo rosso) però funziona male.
Dal 1 al 2 livello funziona.
Passando sul 2. livello si apre bene il terzo ma le voci del terzo livello anzichè aprirsi a sfondo nero e poi diventare rosse al passaggio del mouse, si aprono a sfondo rosso e così restano.
Non so bene in effetti dove impostarle nel foglio di stile! Non ci capisco + niente! Quale regola devo aggiungere? Mi puoi aiutare?
Grazie!!!!!!! Tappat

Questo è il codice del css (collage...):
.menu
{
float: left;
width: 565px;
height: 55px;
padding-left: 16px;
padding-right: 6px;
padding-top: 22px;
text-align: center;
font-family: Verdana;
font-size: 8pt;
color: #FFFFFF;
}
.menu ul
{
list-style:none;
margin:0;
padding:0;
}
.menu a {
display:block;
color: #FFFFFF;
text-decoration:none;
font-weight:normal;
line-height:30px;
margin:0px;
padding:0px 15px;
text-align:center;
font: Verdana, Tahoma, sans-serif;
}
.menu a:hover {
background: url(../images/hover.png) #ad0101 no-repeat bottom center;
color:#FFFFFF;
text-decoration:none;
}
.menu li{
float:left;
padding:0px;
position: relative;
}
.menu ul ul
{
position: absolute;
z-index: 500;
}
.menu ul ul ul {
position: absolute;
top: 0;
left: 100%;
}

div.menu ul ul,
div.menu ul li:hover ul ul,
div.menu ul ul li:hover ul ul
{display: none;}

div.menu ul li:hover ul,
div.menu ul ul li:hover ul,
div.menu ul ul ul li:hover ul
{display: block;}

.menu li a{
display:block;
font-weight:normal;
line-height:30px;
margin:0px;
padding:0px 15px;
text-align:center;
text-decoration:none;
color: #FFFFFF;
}
.menu li.current a
{
display: block;
font-weight: normal;
line-height: 30px;
margin: 0px;
padding: 0px 15px;
text-align: center;
text-decoration: none;
color: #FFFFFF;
background-position: center bottom;
background-image: url(../images/current.png);
background-repeat: repeat-x;
}
.menu li a:hover, .menu ul li:hover a{
background: url(../images/hover.png) #ad0101 no-repeat bottom center;
color:#FFFFFF;
text-decoration:none;
}
.menu li ul{
background:#2F3130;
display:none;
height:auto;
padding:0px;
margin:0px;
border:0px;
position:absolute;
width:225px;
z-index:200;
}
.menu li:hover ul{
display:block;
}
.menu li li
{
display: block;
float: none;
margin: 0px;
padding: 0px;
width: 225px;
background-image: url(../images/sep.gif);
background-repeat: no-repeat;
background-position: left bottom;
}
.menu li:hover li a{
background:none;
}
.menu li ul a{
display:block;
height:30px;
font-size:10px;
font-style:normal;
margin:0px;
padding:0px 10px 0px 15px;
text-align:left;
}
.menu li ul a:hover, .menu li ul li:hover a
{
background: url(../images/hover_sub.png) #ad0101 no-repeat left center;
border: 0px;
color: #ffffff;
font-size: 10px;
text-decoration: none;
}

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.