Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500

    opacity al div e non al testo

    Salve ragazzi,
    vi faccio vedere il mio codice e poi vi spiego il problema:

    codice:
    <div id="content">ciao</div>
    codice:
    #content{
        background:#000000;
        opacity:0.6;
    }
    Questo è il mio problema semplificato, se faccio in questo modo lo sfondo è trasparente in modo corretto ma non solo, anche il contenuto al suo interno è trasparente, come evito questo problemino?

    Grazie per le risposte!

  2. #2
    codice:
    <div id="content">
        <div id="testo">
        </div>
    </div>
    
    
    #content {
       ...
       opacity: 0.6;
    }
    
    #testo {
       background: transparent;
       opacity: 1;
    }
    Dovrebbe andare...
    Visita il mio blog e canale YouTube dedicati a programmazione web e sicurezza informatica.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    No, non funziona, altre soluzioni?

    Grazie per la risposta immediata

  4. #4
    Utente di HTML.it L'avatar di maspar
    Registrato dal
    Mar 2001
    Messaggi
    276
    L'unica soluzione secondo me è quella di creare un background in png con la trasparenza desiderata ed applicarla al div, questa soluzione l'ho adottata diverse volte.

    Non discutere mai con un idiota: la gente potrebbe non notare la differenza. (Arthur Bloch)

    Ricchezza di fini, semplicità di mezzi. (Arne Naess)

  5. #5
    Utente di HTML.it L'avatar di Prill
    Registrato dal
    Oct 2006
    Messaggi
    2,947
    L'opacity viene ereditata, quindi se applicata a un contenitore si riflette su tutti i suoi contenuti. Puoi impostare lo sfondo con valori rgba (se ne èparlato tante volte nel forum, cerca rgba e trasparenza), oppure come ti è stato suggerito usare una png con trasparenza

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    Eh, io ho cercato di eliminare le png così lo rendevo più veloce e non doveva caricare immagini.

    Come faccio con l'opacity? Ora guardo la trasparenza con rgba..

  7. #7
    Hai ragione, pensavo che anche se l'opacity viene ereditata poi settandolo esplicitamente avrebbe funzionato.

    Comunque puoi anche fare una png 1x1 pixel e settere repeat con i CSS, in questo modo non credo che avrai problemi di velocità per caricare la PNG ed il problema è risolto (tranne che su IE6, ma vabbè)
    Visita il mio blog e canale YouTube dedicati a programmazione web e sicurezza informatica.

  8. #8
    #o{
    background:#000000;
    opacity:0.6;
    z-index : 0;
    }

    #content{
    z-index : 1;
    }

    <div id="o"></div>

    <div id="content">ciao</div>

    dai le stesse coordinate e dimensioni di "content" a "o"

    oppure usi l'escamotage dell'immagine di 1px*1px in png con la trasparenza (raccomandato).

  9. #9
    Originariamente inviato da Vicar
    No, non funziona, altre soluzioni?

    Grazie per la risposta immediata
    Ciao Vicar la soluzione è semplice:

    #content{
    background: rgba(0, 0, 0, 0.6);
    }

    dove 0,0,0 è il nero e 0.6 l'opacità...

    in questo modo è solo il fondo a prendere l'opacità
    Ciao

  10. #10
    Originariamente inviato da LuigiMem
    Ciao Vicar la soluzione è semplice:

    #content{
    background: rgba(0, 0, 0, 0.6);
    }

    dove 0,0,0 è il nero e 0.6 l'opacità...

    in questo modo è solo il fondo a prendere l'opacità
    Ciao
    Il codice così non è completo!

    Il codice completo dovrebbe essere:
    codice:
    #content{
    background: rgb(0, 0, 0);
    background: rgba(0, 0, 0, 0.6);
    }
    Per essere compatibile con tutti e browser.

    Devo dire però che anche così che con IE8 non funziona

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 © 2025 vBulletin Solutions, Inc. All rights reserved.