Colore di sfondo CSS trasparente


Risposte:



44

Tieni a mente queste tre opzioni (vuoi # 3):

1) L'intero elemento è trasparente:

visibility: hidden;

2) L'intero elemento è in qualche modo trasparente:

opacity: 0.0 - 1.0;

3) Solo lo sfondo dell'elemento è trasparente:

background-color: transparent;

14

sì, è possibile. usa semplicemente la sintassi rgba per il colore di sfondo.

.menue{
  background-color: rgba(255, 0, 0, 0.5); //semi-transparent red
}

2
Ciao! Sai qualcosa sulla definizione CSS "colore di sfondo" con il canale aplha, ma usando il valore #HEX per il colore?
Piotr Stępniewski

@ PiotrStępniewski Probabilmente in ritardo, ma ora c'è una sintassi del genere (vedi la mia risposta )
FZ

10

Ecco una classe di esempio che utilizza i colori con nome CSS:

.semi-transparent {
  background: yellow;
  opacity: 0.25;
}

Questo aggiunge uno sfondo opaco al 25% (colorato) e trasparente al 75%.

CAVEAT Sfortunatamente, l'opacità influenzerà l' intero elemento a cui è collegato.
Quindi, se hai del testo in quell'elemento, imposterà anche il testo al 25% di opacità. :-(

Il modo per superare questo problema è usare rgbaohsla metodi per indicare la trasparenza come parte del "colore" di sfondo desiderato. Ciò ti consente di specificare la trasparenza dello sfondo, indipendentemente dalla trasparenza degli altri elementi nel tuo elemento.

Ecco 3 modi per impostare uno sfondo blu al 75% di trasparenza, senza influire sugli altri elementi:

  • background: rgba(0%, 0%, 100%, 0.75)
  • background: rgba(0, 0, 255, 0.75)
  • background: hsla(240, 100%, 50%, 0.75)

8

In questo caso background-color:rgba(0,0,0,0.5);è il modo migliore. Per esempio:background-color:rgba(0,0,0,opacity option);


6

Per ottenerlo, devi modificare background-coloril valore dell'elemento.

Modi per creare un colore (semi) trasparente:

  • Il nome del colore CSS transparentcrea un colore completamente trasparente.

    Utilizzo:

      .transparent{
        background-color: transparent;
      }
    
  • Utilizzo delle funzioni rgbao hslacolor, che consentono di aggiungere il canale alfa (opacità) alle funzioni rgbe hsl. I loro valori alfa vanno da 0 a 1.

    Utilizzo:

      .semi-transparent-yellow{
        background-color: rgba(255, 255, 0, 0.5);
      }
      .transparent{
        background-color:  hsla(0, 0%, 0%, 0);
      }
    
  • Oltre alle soluzioni già citate, puoi anche utilizzare il formato HEX con valore alfa ( #RRGGBBAAo #RGBAnotazione ).

    È abbastanza nuovo (contenuto dal CSS Color Module Level 4), ma già implementato nei browser più grandi (scusate, no IE).

    Questo differisce dalle altre soluzioni, poiché tratta anche il canale alfa (opacità) come un valore esadecimale, facendolo variare da 0 a 255 ( FF).

    Utilizzo:

      .semi-transparent-yellow{
        background-color: #FFFF0080;
      }
      .transparent{
        background-color: #0000;
      }
    

Puoi provarli anche:

  • transparent:

  • rgba():

  • #RRGGBBAA:


5

Prova questo:

opacity:0;

Per IE8 e versioni precedenti

filter:Alpha(opacity=0); 

Opacity Demo di W3Schools


6
Il sito a cui ti colleghi ... è terribile.
John Dvorak

1
@ TheWandererr Inizierò con la pagina collegata. Tieni presente che dovrebbe dimostrare un codice esemplare. Eppure ... non ci sono rientranze. Tieni presente che usano il doctype HTML5, il che significa che hanno aggiornato la pagina dopo che è stata collegata qui o hanno utilizzato HTML5 sei mesi prima che fosse anche nello stato di raccomandazione candidato. Avanti: CSS in linea è un male, per la memorizzazione nella cache e per la leggibilità. Devono usarlo qui perché hanno solo un pannello per l'intera sorgente della pagina, ma se hanno usato più pannelli, come fa jsfiddle (2010). E anche per una pagina che dimostra opacità,
John Dvorak

1
@ TheWandererr avrebbero potuto fare di meglio. Mostrando l'effetto sugli elementi nidificati o consentendo a un'azione di passaggio del mouse di disabilitarlo, per esempio. Poi c'è tutta quella cosa del "fingere di essere il w3 consorcium, e quando lo scoprirai lancia un altro o due reskin, anche etichettati come w3qualcosa" - un po 'disonesto se me lo chiedi. Dicono anche che i loro esempi possono essere "semplificati per la leggibilità" e "costantemente rivisti", ma rimuovere gli spazi non aiuta la leggibilità e nemmeno il supporto di IE7 è esattamente la nuova tendenza. Inoltre, chi non pagherebbe $ 100 per un pezzo di carta che danneggia la loro credibilità?
John Dvorak

1
@TheWandererr IIRC, avevano un'anteprima del test. Le domande erano un misto di curiosità e roba da principianti. Potrebbero aver avuto anche alcune delle risposte leggermente errate. Per quanto riguarda la parte opacità del loro tutorial CSS: tre intestazioni dedicate a rendere trasparenti le immagini - cambiano solo il selettore CSS. Poi altri due paragrafi: uno per introdurre RGBA (finalmente solo lo sfondo è trasparente) e uno come "esempio di integrazione" (yay! Inoltre, nessun rientro). Allora ... è tutto. Non c'è più niente sull'opacità. E no, non c'è neanche un argomento "opacità avanzata" in seguito.
John Dvorak

1
@TheWandererr parliamo di Javascript: Tutti i loro esempi includono: nessun rientro (anche nel codice Javascript); innerHTML =(ehi, almeno è meglio degli avvisi document.writeche facevano nel 2012, ma ancora nessuna manipolazione DOM, al di fuori del tutorial jQuery tranne per la parte del tutorial in cui elencano i metodi rilevanti uno per capitolo, e anche allora è solo selezione - e sì, elencano document.write). Il loro tutorial XHR utilizza readyStateChange invece di onLoad (supportato da IE7). E la loro soluzione alternativa per le funzioni in JSON? Stringili per essere valutati in seguito
John Dvorak

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.