2012-03-29 10 views
6

È possibile in qualche modo filigranare una pagina html con un'immagine semitrasparente che consente comunque l'interazione dell'utente nella pagina dietro di esso? Contraddittorio, e non sembra possibile senza alcuni script complicati, ma forse mi manca qualcosa.Come filigrana/sovrapporre l'immagine su una pagina html?

+3

Credo che non si capisce quello che una filigrana è. Una filigrana è in genere DIETRO tutto e solo sullo sfondo della pagina. Vuoi dire che vuoi un OVERLAY trasparente che permetta l'interazione? –

+4

Anche se la risposta di '@ Aaron's è veramente buona, non vedo il punto di filigrana della pagina HTML quando anche un utente un po 'esperto può aprire la console di sviluppo e semplicemente rimuoverlo .... –

+0

Corretto, @Mystere Man, lo faccio in realtà significa sovrapposizione. Vedrò se posso modificare il titolo per correggere questo. – Random

risposta

7

Questo funziona per la maggior parte dei browser moderni:

div#watermark { 
    position: fixed; 
    width: 100%; 
    height: 100%; 
    z-index: 99999; 
    background: url('path/to/image.png') center center no-repeat; 
    pointer-events: none; 
} 

Purtroppo, IE non riconosce la proprietà pointer-events, quindi è necessario utilizzare un ripiego javascript like this one se necessario. Inoltre, alcuni vecchi browser per dispositivi mobili/vecchio IE non supportano position: fixed, quindi sarà necessario un altro fallback javascript per posizionare l'immagine al centro del viewport.

+1

+1 per avermi introdotto alla proprietà 'pointer-events'. – ScottS

0

Prova questo:

#watermark { 
    background-image: url('watermark.png'); 
    repeat: no-repeat; 
    opacity: 50; 
    position: relative; 
    bottom: 0; 
    float: left; 
} 
Problemi correlati