Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    140

    link "a href" e classi css

    Ciao, ho questo problema:

    in una pagina web voglio far si che la formattazione dei link sia diversa in base al DIV. La struttura è questa:

    codice:
    <div id="main">
      <div id="sidebar">
      </div>
    
      <div id="content">
      </div>
      
      <div id="footer">
      </div>
    
    </div>
    e nel css ho una parte così:

    codice:
     
    a:link
    a:visited
    a:hover
    e poi due parti così:

    codice:
     
    a.sidebar:link
    a.sidebar:hover
    a.sidebar:visited
    codice:
     
    a.footer:link
    a.footer:hover
    a.footer:visited
    Succede che nella sidebar vengono visualizzate le opzioni giuste, mentre nel footer no.
    E' importante l'ordine con il quale questi tre blocchi appaiono nel css?

  2. #2
    Utente di HTML.it L'avatar di LineaPixel
    Registrato dal
    Mar 2008
    Messaggi
    1,571
    Commetti un errore fondamentale che è quello di confondere gli ID con le classi.
    Nei CSS per definire le caratteristiche di un tag con un determinato ID si usa il prefisso "#".
    Ad esempio, se devo formattare un tag
    codice:
    <div id="layer1">....</div>
    nel foglio di stile lo richiamerò con
    codice:
    #layer1 { ...codice css... }
    oppure con
    codice:
    div#layer1 { ...codice css... }
    Il codice che hai usato tu sarebbe andato bene se invece di specificare l'ID avessi specificato una Classe (tra l'altro hai fatto un bel po' di pasticcio volendolo richiamare riferito al tag a), che, nelle definizioni CSS si contraddistingue con il punto iniziale.
    Diciamo che hai diversi fondamentali dei CSS da studiare....

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    140
    Ho ben presente tutto quello che hai detto, so la differenza tra classi e id.

    Infatti nel css il footer è:

    codice:
    #footer {
    ..........
    }
    e la sidebar


    codice:
    #sidebar {
    ..........
    }
    e, ripeto, questo funziona

    codice:
    a.sidebar:link
    a.sidebar:hover
    a.sidebar:visited
    mentre questo no:

    codice:
    a.footer:link
    a.footer:hover
    a.footer:visited
    EDIT: ovviamente, i link dentro il footer vengono scritti con l'attributo class="footer"

  4. #4
    magari hai saltato un ; oppure una } da qualche parte e quindi da quel punto in poi il foglio di stile non viene più interpretato...

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    663
    Attento anche all'ordine con cui dichiari gli stati dei link.
    L'ordine corretto è: link-visited-hover-active.
    Diversamente potresti avere brutte sorprese.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.