3 votes

CSS Box-Shadow ajoute une bordure blanche arbitraire aux Div.

J'ajoute un box shadow à un élément contenant un img et cela crée une bordure blanche arbitraire en bas de l'élément. Aucune bordure n'est appliquée par le biais du CSS (j'ai même essayé de la remplacer par l'option border:none; sans succès). Lorsqu'elle est appliquée à l'image directement, elle apparaît correctement. Mais lorsqu'elle est appliquée à un div contenant une image, la bordure apparaît.

Toute aide est la bienvenue.

<style>
html,body,div,img {margin:0; padding:0;} 
body {padding:50px;}

.badge_image {
  float:left;
  /* css drop shadow */
  -webkit-box-shadow: 1px 1px 5px 0px #a2958a;
  -moz-box-shadow: 1px 1px 5px 0px #a2958a;
  box-shadow: 1px 1px 5px 0px #a2958a; 
}
</style>

<div class="badge_image">
    <img src="badge-image.jpg" height="75" width="75" />
</div>  

<br clear="all" /><br clear="all" />

<img src="badge-image.jpg" height="75" width="75" class="badge_image" /><!-- works fine -->

6voto

Essayez le bloc d'affichage pour l'image.

.badge_image img {
    display: block;
}

3voto

Kraz Points 2751

Soit :

  1. Ajouter un display:block; à votre img .
  2. Définir un line-height de 0px sur votre div .

Une image est un élément en ligne, il y a donc de l'espace pour le texte, en laissant cette ligne.

Démo

0voto

Regular Joe Points 4021

El display: block ne fonctionne pas pour moi, dans quelques cas, mais en plaçant cette solution sur le même élément que le box-shadow, cela fonctionne.

backdrop-filter: blur(0px);

Je ne sais pas pourquoi ça marche, mais ça marche.

-1voto

kizu Points 15989

Et une autre façon d'y parvenir est d'ajouter virtical-align: top; à un img .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X