Por lo que puedo decir, no es posible colocar una imagen de fondo CSS 1em desde el borde derecho de ningún bloque, tampoco es posible colocar una imagen 1em desde la parte inferior.Coloque la imagen de fondo 1em desde la derecha?
El siguiente código coloca la imagen de fondo 1em desde la izquierda y 2em desde la parte superior.
<div class="foo" style="background: url('bar.png') no-repeat 1em 2em">
Some text here
</div>
¿Hay alguna manera en el CSS para especificar que la imagen de fondo debe ser "tan lejos desde el borde derecho" si el tamaño de la caja es dinámico y suponiendo que no se puede cambiar el código HTML?
(En porcentajes no funcionarán, ya que la caja se puede cambiar el tamaño)
Si esto no es posible, ¿cuál es la más pequeña cantidad de cambio que necesita para hacer que el código HTML?
Esta es la solución que se me ocurrió:
<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>
Esto no alcanza el punto un poco, ya que no permite que un 1 em "relleno" entre la imagen de fondo y el borde del bloque. –
Bueno, puede configurar eso con la posición de fondo, y luego también usar background-position-x para alinearlo a la derecha. –
En realidad, la forma en que leo la documentación, background-position-x es simplemente un contenedor para la posición de fondo.Cambiar uno anula al otro. Además, solo es compatible con IE/Safari. –