Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    li : cambiare colore allo sfondo quando a:hover

    salve a tutti
    ho questo problema:
    vorrei creare una lista che abbia uno sfondo e apparisse come se fosse una pulsantiera.
    all'interno della lista ci sono dei link che nel momento in cui ci paso sopra dovrebbe evidenziarsi tutta la riga della lista di un altro colore:

    per indenderci:


    codice:
    ul
     {
        background: url("../img/menu.gif") repeat-y;
    }
    
    li a:hover{
      background-image:none; 
      background:#5F94B4;
    }
    pertanto avrò nella pagina html un codice del genere:
    codice:
      <ul>[*]<a></a>[*]<a></a>
        ...[/list]
    solo che invece di cambiare lo sfondo a tutta la riga si limiita a cambiarlo al testo del linkk, perchè?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  2. #2
    Originariamente inviato da Dart89
    Se non mi sbaglio

    codice:
    ul
     {
        background: url("../img/menu.gif") repeat-y;
    }
    
    
    li a {display: block;}
    
    li a:hover{
      background-image:none; 
      background:#5F94B4;
    }
    perfetto, solo che adesso mi ha raddoppiato l'altezza del li...
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  3. #3
    ho risolto..ho messo
    codice:
    a{height:0}
    ed ho risolto...giusto no?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  4. #4
    il problema è che ora con Internet Explorer se non metto a{height:0} mi fa la doppia linea ma con firefox invece se lo metto mi sovrappone i link...quale è quel tag che fa in modo che il comando CSS venga letto solo da IE?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  5. #5
    Non si tratta di tag bensì di hack;
    *html #idElemento { //proprietà lette solo da IE }

  6. #6
    Originariamente inviato da Mega69
    Non si tratta di tag bensì di hack;
    *html #idElemento { //proprietà lette solo da IE }
    ok fin qui tutto ok, ma non capisco perchè cmq mi metta una righetta in più quando lo visualizzo con internet explorer anche se metto l'altezza del li a 0, mentre con con FireFox viene una cosa molto più omogenea sullo stile del menu a sinistra dell' Home page di html.it...

    come mai?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Come ho gia` scrittp piu` volte, il problema lo si risolve facendo occupare al tag <a> tutto lo spazio del suo contenitore:
    codice:
    li a {
      display: block;
      width: 100%; height: 100%;
    }
    Ci sono dei problemi con i blocchi in IE.
    E si ovvia, insrendo delle regole CSS che vengano lette solo da IE.

    L'hack proposto non e` dei piu` furbi (non si sa come verra` interpretato dalle prossime versioni del browser): conviene invece usare i commenti condizioniali (vedi tra i "link utili" per la loro sintassi).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Originariamente inviato da Mich_
    Come ho gia` scrittp piu` volte, il problema lo si risolve facendo occupare al tag <a> tutto lo spazio del suo contenitore:
    codice:
    li a {
      display: block;
      width: 100%; height: 100%;
    }
    grazie mille, era quello che stavo cercando!

    ora però ho un altro piccolo problema, perchè vorrei mettere dei sottomenu e se scrivo
    codice:
    div#navigation menu
    {
      color:#0060A0;
      margin-left:20px;
      padding: 0;
      list-style-type: none;
    }
    div#navigation menu a
    {
    	color:#E26200;
    	font: normal bold 1.1em/1.2em arial,sans-serif;
    	display: block;
    	width: 100%; 
    	height: 100%;
    }
    e quindi poi ho un menù del genere
    codice:
      <ul>[*]
        <menu> [*]
             
        </menu>[*][*][/list]
    ho lo stesso tipo di problema che avevo prima con ul, e quindi quello che ho scritto per i menu nei css non viene interpretato, nemmeno il font dei caratteri viene interpretato(che rimane lo stesso definito precedentemente per <ul>), dove sbaglio?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non riesco a capire.

    Intanto il codice HTML che hai postato non ha senso. Un menu a due livelli ha la struttura:
    codice:
    <ul class="menu">[*] ...[*]... <ul class="sotto1menu"> [*] ... [*] ... [/list][*][*][/list]
    Notare che l'<ul> interno st DENTRO il[*] cui si riferisce.

    Chiaramente il CSS dovra` rifarsi a tale struttura, nei vari modi di specificare i selettori.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Originariamente inviato da Mich_
    Non riesco a capire.

    Intanto il codice HTML che hai postato non ha senso. Un menu a due livelli ha la struttura:
    codice:
    <ul class="menu">[*] ...[*]... <ul class="sotto1menu"> [*] ... [*] ... [/list][*][*][/list]
    Notare che l'<ul> interno st DENTRO il[*] cui si riferisce.

    Chiaramente il CSS dovra` rifarsi a tale struttura, nei vari modi di specificare i selettori.
    ora ti spiego, invece del <ul class="sotto1menu">[/list]io ci ho messo un elemento <menu></menu> per fare il sottomenu, invece secondo quello che dici tu sarebbe meglio che definissi nei css questo
    codice:
    ul
    {
      ..
    }
    ul.sotto1menu
    {
      ..
    }
    per poi utilizzare la struttura da te postata, giusto?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.