Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    due :not() in un unico selettore

    Ciao a tutti è possibile su un unica istruzione fare 2 not()?
    Mi spiego se ho questo:
    codice HTML:
    .tag:not(:nth-child(2)) { ... }
    
    // posso inserirgli anche un altro figlio? es. :nth-child(3) come posso fare?

  2. #2
    magari c'è un modo migliore, ma intanto prova banalmente così:
    codice:
    .tag:not(:nth-child(2)), .tag:not(:nth-child(3)) { ... }

  3. #3
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,685
    Ciao
    Quote Originariamente inviata da fermat Visualizza il messaggio
    magari c'è un modo migliore, ma intanto prova banalmente così:
    codice:
    .tag:not(:nth-child(2)), .tag:not(:nth-child(3)) { ... }
    @fermat, no, in questo modo non può funzionare. Nulla di personale, è una pura questione di logica, anche se potrebbe non essere così scontata e intuitiva. I due selettori, separati da virgola, sono valutati singolarmente; questo produrrà due sottogruppi di elementi in cui mancherà un elemento .tag, distinto per ciascuno dei due sottogruppi; perciò tutti gli elementi dei due sottogruppi saranno poi "assemblati" in un unico gruppo e quindi considerati per questa regola, col risultato che nessuno degli elementi .tag sarà escluso in questo particolare caso.

    Cerco di spiegare con un esempio.
    Supponiamo di avere la serie di elementi 1, 2, 3, 4, 5.

    Il primo selettore .tag:not(:nth-child(2)) seleziona gli elementi 1, 3, 4, 5 (cioè il 2 è escluso)
    Il secondo selettore .tag:not(:nth-child(3)) seleziona gli elementi 1, 2, 4, 5 (cioè il 3 è escluso)

    A questo punto sono considerati tutti gli elementi restituiti dall'insieme dai due selettori, quindi: 1, 2, 3, 4, 5 (cioè nessuno è escluso).
    Chiaramente gli elementi presi più volte sono da considerarsi un'unica volta.

    ---

    Per "concatenare due esclusioni" puoi usare questa forma:
    codice:
    .tag:not(:nth-child(2)):not(:nth-child(3)) { ... }
    dove dal risultato del primo not che esclude il 2 (e quindi restituisce 1, 3, 4, 5) sarà ulteriormente escluso il 3 (ottenendo 1, 4, 5).
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  4. #4
    ah ok perfetto, buono a sapersi.
    grazie!

  5. #5
    grazie killerworm funziona alla grande, grazie ancora

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