Olá,
acredito que eu consegui o efeito que você queria conforme imagem abaixo, mas foram necessárias algumas mudanças:
Basicamente a estratégia foi:
- Adicionei! a img pelo CSS usando "background-image" no PARENT tag DIV
- Definir as dimensões desse elemento, no exemplo 500px x 500px
- No elemento CHILD que também uma DIV adicionei a bordar com "position: relative"
- Dimensionei esse child do mesmo tamanho do parent -> 500 x 500
- por último, usei TOP e LEFT para tranladar a borda um pouco pra fora.
Adicionalmente eu implementei um :hover no parent para mostrar o child (borda laranja)
HTML
<body>
<div class="parent">
<div class="child" >
</div>
</div>
</body>
CSS
.parent {
background-image: url("/quadrado-preto.png");
background-position: center;
background-repeat: no-repeat;
background-size: 500px;
width: 500px;
height: 500px;
}
.parent:hover .child {
display: block;
}
.child {
display: none;
position: relative;
top: 10px;
left: -20px;
border: 5px solid orange;
width: 500px;
height: 500px;
}