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

    Possibile cambiare stile elemento padre in base alla classe dell'emento figlio?

    Ciao,

    ho un div padre che funge da container per altri div figli.
    E' possibile tramite CSS utilizzare un set di regole diverso in base ad un elemento figlio contenuto?

    Ad esempio:
    codice:
    .divPadre .figlio1
    {
        width:200px;
        color:red;
    }
    
    .divPadre .figlio2
    {
        width:50px;
        color:Yellow;
    }
    Tali regole vengono applicate agli elementi di calsse "figlio1" e "figlio2" contenuto nel div di calsse "padre".
    Come potrei applicare al div di classe "padre" una larghezza di 200px se contiene "figlio1" e "50px" se contiene figlio2?

    E' possibile questo con CSS? Eventualmente se non con CSS ma conjQuery potresti postare un piccolo esempio?
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non mi risulta che si possa fare con i CSS. Servirebbe un connettore "padre" (simmetrico del >), che non esiste.

    Quello che puoi fare e` inserire una classe diversa, oppure uno stile in linea a seconda di cosa contiene il blocco. Questo lo puo` fare qualsiasi programma lato server o CMS (credo che per te sia jQuery)

    Esempio (posto il codice che deve arrivare al brwoser: sta poi a te fare in modo che ci arrivi correttamente - eventualmente chiedi nel forum dove trattano iltuo linguaggio):
    codice:
    HTML 1:
    <div id="padre" class="neHa2">
      <div class="figlio1">
        
    
     contenuto del blocco figlio1 </p>
      </div>
      <div class="figlio2">
        
    
     contenuto del blocco figlio2 </p>
      </div>
    </div>
    
    HTML 2:
    <div id="padre" class="neHa1">
      <div class="figlio1">
        
    
     contenuto del blocco figlio1 </p>
      </div>
    </div>
    
    ecc.
    
    CSS (in questo esempio e` unico per tutti i casi):
    #padre {
      ... le varie formattazioni comuni ...
    }
    .neHa2 {
      width: 250px;
    }
    .neHa1 {
      width: 200px;
    }
    
    ecc
    Nota che ci sono anche altre soluzioni :
    Esempio 2
    codice:
    HTML 1:
    <div id="padre" style="width: 250px;">
      <div class="figlio1">
        
    
     contenuto del blocco figlio1 </p>
      </div>
      <div class="figlio2">
        
    
     contenuto del blocco figlio2 </p>
      </div>
    </div>
    
    HTML 2:
    <div id="padre" style="width: 200px;">
      <div class="figlio1">
        
    
     contenuto del blocco figlio1 </p>
      </div>
    </div>
    
    ecc.
    E si puo` anche pensare di modificare il CSS dal programma lato server, ma risulta un po' piu` complesso (e non tutti i CMS sono in grado di farlo)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.