Rimuovere/reset CSS proprietà di comportamento

È possibile rimuovere IE comportamento di specifiche proprietà CSS tramite una regola più specifica o il !important dichiarazione? Esempio:

.a-rule
{
  behavior: url(/some.htc);
}
.a-rule.more-specific
{
  behavior: /*no HTC*/
}

Mi rendo conto che l’override di proprietà CSS è auspicabile, ma mi sono bloccato qui.

Su Modifica: io non sono sicuro dove le persone sono confusi riguardo a questa questione. Per tutti gli scopi, si può considerare questo già un IE foglio di stile specifico. Mi sto chiedendo come, se .a-rule sopra esiste ed è immutabile, come si può rimuovere il comportamento tramite una regola più specifica? Standard CSS equivalente sarebbe:

.a-rule
{
  border: 1px solid black;
}
.a-rule.more-specific
{
  border: 0 none;
}

Si può ripristinare il confine di proprietà per un sottoinsieme di elementi tramite una regola specifica. Mi sto chiedendo come reimpostare la proprietà di comportamento in un modo analogo.

  • Non ha senso indicare un duplicato. Pre-date l’altra domanda, ha più dettaglio, più persone coinvolte.



3 Replies
  1. 41

    Il valore di default è “nessuno”. Vedere:

    Che cosa è il *giusto* modo di modificare il comportamento di proprietà dei CSS?

    La soluzione:

    .a-rule
    {
      behavior: url(/some.htc);
    }
    .a-rule.more-specific
    {
      behavior: none;
    }
    • Ho trovato una stringa vuota ha funzionato bene (almeno in IE8), ma sembra che il valore di default è in realtà none, vedi qui: stackoverflow.com/questions/7953447/… mi dispiace che le risposte che hai avuto sono state così male.
    • bella soluzione, non sembra funzionare per il colore, però, qualcuno ha qualche soluzione per questo caso d’uso?
    • Un “nessuno” di colore non hanno davvero senso. Sarebbe nero? Bianco? Trasparente?
    • È ‘trasparente’, se si sta cercando di cambiare il colore di sfondo.
  2. -5
    .a_rule {
      border: 1px solid black; /* we know border is black */
      behavior: url(/some.htc) /* we know something happen inside some.htc */
    }
     .a_rule.more-specific {
      border: 0 none; /* we remove the border */
      behavior: url(/some.htc) /* we remove something inside some.htc */
    }

    utilizzare diversi .htc file

  3. -8

    Forse usare i tag condizionali per IE nella tua testa

    <!--[if IE]>
    <style type="text/css">
        .a-rule {
           behavior: url(/some.htc);
        }
    </style>
    <![endif]-->
    • Non esiste una sintassi nei fogli di stile.

Lascia un commento