Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    913

    Selezionare gli elementi in base "all'antenato"...

    tra i vari modi per selezionare degli elementi a cui applicare uno stile c'è quello che applica uno stile in base al contesto di un elemento ed in particolare quello che applica lo stile in base "all'antenato" di tot elementi.
    per es:

    div#prova p {color:red;}

    In questo modo faccio si che tutti gli elementi

    discendenti di quel particolare <div> (di qualsiasi generazioni si tratti...quindi non solo la seconda generazione o figli) prendano quello stile.

    Ora la mia domanda è questa:

    Se alcuni

    (discendenti) si trovano in qualche altro elemento (ad es un altro <div> figlio del precedente) che ha gia uno stile in base alla classe per quale motivo su quei

    vince la regola che usa il metodo si selezione dell'antenato?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Conta anche l'ordine di inserimento delle regole CSS.
    Una regola che viene scritta dopo sovrascrive (in tutto o in parte) la regola precedente.

    Con questo in mente, verifica l'ordine dei tuoi CSS.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Originariamente inviato da Mich_
    Conta anche l'ordine di inserimento delle regole CSS.
    Una regola che viene scritta dopo sovrascrive (in tutto o in parte) la regola precedente.

    Con questo in mente, verifica l'ordine dei tuoi CSS.
    giusto: l'unico modo perchè una regola non venga "sovrascritta" da quelle successive è usare !important (che non funziona su IE)

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    913
    quindi nel mio esempio la eventuale regola del secondo <div> (il <div> interno e figlio del primo <div>) vale solo se specificata prima nell'ordine?

    es.

    codice:
    <div id="prova">
                  
    
    bla bla</p>
                  
    
    bla bla</p>
                  <div class="prova1">
                            
    
    bla bla</p>
                            
    
    bla bla</p>
                  </div>
    </div>
    regola css:
    div#prova p {color:red;}

    Quello che volevo dire è perche gli

    piu interni(quelli di 3a generazioni e discendenti ma non figli del primo <div> piu esterno)
    prendono la regola "dell'antenato" prendendo cosi lo stile della regola sopra che prende come riferimento appunto il primo <div>?
    E non prende magari los tile di un eventuale regola del secondo <div> che ha classe "prova1"?

    Forse in questo caso conta la regola della specificita e quindi "vince" lo stile dell'antenato del primo <div> perche fa riferimento ad un "id" che è piu specifico di una"class"?
    O come dicevate voi conta la regola in base alla quale a priorita l'ultimo stile inserito?

  5. #5
    conta l'ordine
    div e class penso che abbiano la stessa "importanza"

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    913
    Originariamente inviato da andrea.paiola
    conta l'ordine
    div e class penso che abbiano la stessa "importanza"
    non è <div> o "class" che devono avere la stessa importanza....semmai "id" e "class" ma in questo caso "id" è piu specifico

  7. #7
    si scusa volevo dire id e class

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    913
    Altro es di selezione di elemento in base all'atributo:

    div[class] {color:red;}

    nell'es precedente si ha che ciascun elemento <div>, che ha attributo "class"(indipendentemente dal suo valore) , sara di colore rosso. Ma allora mi chiedo: I <div> nel documento con classe e valore particolare che stile seguiranno?
    Ad es
    <div class"prova">bla</div>

    quello sopra che prende lo stile della regola precedente o di un eventuale regola per i <div> con class "prova".
    Cioè in questi casi(come nel precedente) conta sempre la posizione e basta della scrittura della regola?




    P.S.
    Sto iniziando ora a studiare i css e mi sono reso conto di quanto modi ci sono per selezionare gli elementi...anche molto "esotici" VVoVe:

  9. #9
    l'ordine di scrittura nel CSS conta SEMPRE!
    il browser incomincia a leggerlo dall'inizio e arriva alla fine e quando ha finito renderizza di conseguenza la pagina
    se la regola seleziona un elemento già con una proprietà già definita questa verrà sovrascritta
    tutto questo vale tranne quando la proprietà è stata definita con !important... tranne che per IE che non ne tiene conto

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.