Colore trasparente vs rgba(0,0,0,0)

C’è qualche vantaggio principale di utilizzare:

background-color: rgba(0,0,0,0);

invece di:

background-color: transparent;

?

OriginaleL’autore sdvnksv | 2015-02-03

2 Replies
  1. 8

    Comportamento è esattamente lo stesso, ma transparent è compatibile anche con IE8.
    RGBA è più avanzato (ma manca IE8 supporto) e permette di modificare velocemente, nel caso in cui si vorrebbero un “quasi trasparente” di colore, senza bisogno di cambiare completamente attributo.

    Per esempio, potrebbe essere molto veloce per impostare

    background-color: rgba(0,0,0,0.1);

    A causa di comportamento di default del browser che ignorate non riconosciuto di proprietà, è possibile combinarli per utilizzare il nuovo browser più recenti, ma lasciare un fallback per i più grandi, semplicemente digitando il loro

    background-color: transparent;
    background-color: rgba(0,0,0,0);

    O, più utile, in caso di alreasy citato quasi trasparente sfondi, si può scrivere:

    background-color: transparent;
    background-color: rgba(0,0,0,0.1);

    Nuovo browser impostato rgba(0,0,0,0.1) come sfondo, ignorando precedente transparent dichiarazione, ma IE8 set transparent come sfondo, perché ignorare non riconosciuto rgba() valore, in modo leggermente diverso, ma in base alle Graceful degradation principio.

    Io davvero non so questo: il mio dubbio (ma è solo un dubbio) è che un browser non compatibile con rgba coud semplicemente ignorare questa dichiarazione e non l’impostazione none come valore. Nel caso In cui la presente dichiarazione è l’unico, il comportamento sarebbe quello che hai descritto, ma nel caso di una dichiarazione che dovrebbe sovrascrivere un altro…. se il browser ignora questa regola…. non ottenere background:none equivalente.
    Il comportamento normale per i browser quando incontrano un ‘ che non capiscono/supporto è quello di non fare nulla, come non sanno cosa fare. Così il background-color proprietà rimarrebbe invariato e soggiorno di default strega è infatti transparent e non none (MDN di riferimento)
    Nel caso In cui il ‘ dovrebbe eseguire l’override di un altro quindi non funziona se si è nel giusto.

    OriginaleL’autore Luca Detomi

  2. 0

    Di Nota: background_color: rgba(0,0,0,0.0); vorresti essere più precisa, ma la stessa. Come indicato background_color: transparent; sarebbe supportato nei browser più vecchi.

    Utilizzando il background_color non costituisce un problema in quanto è utilizzato universalmente in entrambi gli indicatori.
    Il problema di cui trattasi è l’assegnazione di trasparente -vs- rgba.

    trasparente – ovviamente imposta lo sfondo su uno sfondo trasparente con nessuna opzione di colore; l’altra scelta è un colore specificato assingment in esadecimale o in altre accettati valori di colore come blue rgb(x,x,x) rgba(x,x,x,x) #xxxxxx hsl(x,x,x) hsla(x,x,x,x) etc.

    rgba(x,x,x,x) tuttavia è e non è un cavallo di un colore diverso, come è più ampia e deve essere ripartito di spiegare. In primo luogo la differenza è che si sta assegnando un colore e l’impostazione della trasparenza,

    “Rgb” porzione di impostazione sta per rosso verde blu che rappresenta il primo 3 a zero impostazioni (0,0,255,X) e ogni 0 accetta valori da 0 a 255. Giocando con questi tre valori in combinazione mescola le impostazioni del colore per produrre un singolo colore.

    Un” in (rgbun) e la sua impostazione dello zero (x,x,x,0) è il canale ALFA che imposta l’opacità/trasparenza dei primi tre combinato colori (x,x,x,?). Di particolare nota di questo ultimo valore di zero(x,x,x,0) accetta gamma di valori da 0.0 per 1.0 . Un 0.0 impostazione è completamente trasparente, mentre 1.0 è solido. Così, utilizzando l’impostazione rgba(x,x,x,0.5) produrrebbe un dato colore a metà trasparenza.

    OriginaleL’autore BobDCoder

Lascia un commento