Sì.
È possibile farlo interamente in CSS, ma sarà necessario aggiungere un tubo idraulico specifico per ogni immagine.
Se mai ti sei stancato dell'idraulico in più, javascript potrebbe fare la maggior parte degli impianti idraulici per te.
Ecco un violino della versione CSS-only:
http://jsfiddle.net/m1erickson/g3sTL/
Il codice HTML:
<div class="outsideWrapper">
<div class="insideWrapper">
<img src="house-icon.jpg" class="coveredImage">
<canvas class="coveringCanvas"></canvas>
</div>
</div>
Naturalmente, nella vostra versione, si dovrebbe sostituire lo src dell'immagine con il vostro dinamica chiamata al database per recuperare l'immagine.
Il CSS:
.outsideWrapper{
width:256px; height:256px;
margin:20px 60px;
border:1px solid blue;}
.insideWrapper{
width:100%; height:100%;
position:relative;}
.coveredImage{
width:100%; height:100%;
position:absolute; top:0px; left:0px;
}
.coveringCanvas{
width:100%; height:100%;
position:absolute; top:0px; left:0px;
background-color: rgba(255,0,0,.1);
}
C'è un modo per fare questo lavoro per un elenco di immagini senza conoscere le dimensioni delle immagini in anticipo? Rimuovendo la larghezza/altezza dall'involucro esterno, tutte le immagini e le tele in tutti questi doppi wrapper div in un punto. – TheAtomicOption
Capito. Sto usando Flask in modo che python possa leggere le dimensioni dell'immagine e Jinja può impostare uno stile in linea per i div al di fuori del wrapper pari alle dimensioni. – TheAtomicOption