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

    Problema classi per IE6: .classeUno.classeDue

    Ho un problema su IE e non ne capisco il motivo, ci sono delle regole che mi si sovrascrivono.

    Ma faccio degli esempi che sono molto più esemplificativi:

    html:
    codice:
    <div class='icon mini blog'>
    	<div class='iconBg'></div>
    </div>
    css:
    codice:
    .icon.mini	{ width: 16px; height: 16px; }
    .icon.medium	{ width: 32px; height: 32px; }
    
    .mini.blog .iconBg { background: transparent url(blogMini.png) ; height: 16px; }
    .medium.blog .iconBg { background: transparent url(blogMedium.png) ; height: 32px; }

    la regola da utilizzare sarebbe quella che imposta l'immagine .mini.blog .iconBg ma di fatto accade che viene utilizzata la regola .medium.blog .iconBg

    invece la regola .icon.mini viene utilizzata in maniera corretta.

    il risultato quindi è un box di width: 16px (regola .icon.mini) e height: 32px (regola .medium.blog .iconBg).

    su FF e IE7 il problema non sussiste.

    sapete dirmi come aggirare l'ostacolo senza dover riscrivere tutti gli elementi html?
    Arjuna

    finding solutions

  2. #2
    Inverti la successione delle regole.

    codice:
    .icon.mini	{ width: 16px; height: 16px; }
    .icon.medium	{ width: 32px; height: 32px; }
    .medium.blog .iconBg { background: transparent url(blogMedium.png) ; height: 32px;}
    .mini.blog .iconBg { background: transparent url(blogMini.png) ; height: 16px; }

  3. #3
    e se poi mi servisse l'altro?

    il problema resta.... ugh!
    Arjuna

    finding solutions

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ho capito il senso di quei selettori.

    Nel codice HTML hai definito classi multiple per alcuni oggetti. Questo e` possibile (ancorche` non riconosciuto da tutti i browser, mi risulta), per poter assegnare stili simili ad oggetti diversi.
    Esempio:
    <div class="blocco sinistra alto"> ...</div>
    <div class="blocco sinistra basso"> ...</div>
    <div class="blocco destra alto"> ...</div>
    <div class="blocco destra basso"> ...</div>

    dove a tutti i "blocco" si assegna uno stile generico, e poi ai due alto si assegnano dei margini opportuni, idem ai due basso ecc.

    ---
    Nel tuo caso hai assegnato le classi icon, mini e blog.
    I selettori dei CSS pero` sono sbagliati.
    Anzitutto la scritta
    .icon.mini { ... }
    non mi risulta corretta.
    Sarebbe corretto scrivere:
    .icon .mini {...} (l'oggetto con classe mini dentro il blocco con classe icon)
    oppure
    .icon, .mini {...} (gli oggetti con classe mini e gli oggetti con classe icon)
    ma nel tuo caso non corrisponde all'HTML.

    Cercando di interpretare il senso del tuo codice potrebbe essere ragionevole:
    codice:
    .icon { .... }
    .mini	{ width: 16px; height: 16px; }
    .medium	{ width: 32px; height: 32px; }
    .iconBg { background: transparent; }
    .mini .iconBg { background: url(blogMini.png); }
    .medium .iconBg { background: url(blogMedium.png); }
    Comunque il tutto non spiega i problemi di sovrapposizione.
    Sospetto un altro errore, magari dato da posizionamenti assoluti.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Originariamente inviato da 99caos
    e se poi mi servisse l'altro?

    il problema resta.... ugh!

    sapete dirmi come aggirare l'ostacolo senza dover riscrivere tutti gli elementi html?
    Credevo non volessi o potessi toccare il codice pagina e che il problema riguardasse solo la necessità di quelle due classi. Al limite si dovrebbe vedere l'intero documento.

  6. #6
    ma questo significa che IE6 non capisce nulla dei selettori di classe accostati

    in pratica per lui non fa differenza tra

    .classeUno.classeDue altroSelettore

    e

    .classeTre.classeDue altroSelettore

    lui vede giusto se altroSelettore ha un parente che contiene una delle succitate classi... ma che maleducato!!!
    Arjuna

    finding solutions

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.