Je crée un site Web et lorsque l'utilisateur survole un produit, je souhaite lui donner une bordure en haut à gauche , en haut à droite, en bas à gauche et en bas à droite. Comme les propriétés CSS border-top-left-image
ont été dépréciées il y a des années, la seule autre solution à cela serait d'utiliser JS. Actuellement, mon idée est que je vais utiliser span avec une classe d'icônes et ensuite ajouter les quatre spans sur hover puis les retirer du DOM, est-ce la meilleure solution pour cela ou y a-t-il quelque chose de plus simple où je ne joins pas quatre travées et les enlever chaque fois qu'un produit est plané, voici mon code actuel dis-moi ce que tu penses et tout conseil serait génial, merci d'avance!jQuery Border Image (en haut à gauche, en haut à droite, en bas à gauche, en bas à droite)
CSS
.icon {
background: url("../images/theme/icons.png");
overflow: hidden;
width: 1.6em;
height: 1.6em;
position: absolute;
}
.top-left {
top: 0;
left: 0;
background-position: -11.2em 24em;
}
.top-right {
top: 0;
right: 0;
background-position: -1.6em 24em;
}
.bottom-left {
bottom: 0;
left: 0;
background-position: -8em 24em;
}
.bottom-right {
bottom: 0;
right: 0;
background-position: -4.8em 24em;
}
HTML
<div class="layout-product">
<a href="http://www.mysite.com/product/lorem-ipsum-1">
<div class="product-image">
<img src="http://www.mysite.com/images/thumbnail/lorem-ipsum-1.jpg" alt="">
</div>
</a>
</div>
jQuery
$('.layout-product').hover(function() {
$(this).find('.product-image').append('<span class="icon top-left"></span>'
+ '<span class="icon top-right"></span>'
+ '<span class="icon bottom-left"></span>'
+ '<span class="icon bottom-right"></span>'
);
}, function() {
$('.icon').remove();
});
Il n'est pas dépréciées.'border-top-left-image' est disponible en tant que [propriété css3] (http://www.css3.info/preview/border-image/). –
Cela ne fonctionnera que sur les anciens navigateurs. –