Pour autant que je sache, il n'est pas possible de placer une image d'arrière-plan CSS 1em à partir de la bordure droite d'un bloc, il n'est pas non plus possible de placer une image 1em à partir du bas.Placez l'image d'arrière-plan 1em de la droite?
Le code suivant place l'image d'arrière-plan 1em à gauche et 2em à partir du haut.
<div class="foo" style="background: url('bar.png') no-repeat 1em 2em">
Some text here
</div>
Est-il possible en CSS pour spécifier que l'image de fond doit être « loin du bord droit » si la taille de la boîte est dynamique et en supposant que vous ne pouvez pas modifier le code HTML?
(pourcentages ne fonctionnera pas, car la boîte peut changer la taille)
Si cela est impossible, quelle est la plus petite quantité de changement que vous devez faire le HTML?
Ceci est la solution de contournement je suis venu avec:
<style>
div.background
{
float: right;
background: url('bar.png') no-repeat top left;
margin-right: 1em;
width: 16px;
height: 16px;
}
</style>
<div class="foo">
<div class="background" style=""> </div>
Some text here
</div>
Ce manque le point un peu, car elle ne permet pas de 1em « padding » entre l'image d'arrière-plan et le bord du bloc. –
Eh bien, vous pouvez définir cela avec la position de l'arrière-plan, puis utilisez également background-position-x pour l'aligner sur la droite. –
En fait, la façon dont je lis la documentation, background-position-x est simplement un wrapper pour background-position.Changer un remplace l'autre. En outre, il est uniquement pris en charge dans IE/Safari. –