2009-05-12 15 views
114

¿Cuál es el uso correcto de la propiedad CSS de la imagen de fondo? Las cosas claves que estoy tratando de entender esImagen de fondo de CSS: ¿Cuál es el uso correcto?

  1. ¿Tiene que estar entre comillas es decir .: background-image: url('images/slides/background.jpg');
  2. ¿Puede ser una ruta relativa (como antes) o debe ser una URL completa?
  3. Cualquier otro punto que deba tener en cuenta para asegurarme de que funciona correctamente en todos los navegadores compatibles con estándares.
+0

Ver también http : //stackoverflow.com/questions/2168855/css-url-whats-better – harpo

+3

@harpo tal vez deberías decirles que vengan a verme, ya que mi pregunta fue hecha un año antes que ellos;) Gracias por la información a través de;) –

+0

No quise decir que era un duplicado, solo encontré uno más fácil de leer con respeto a las citas (Además, no me di cuenta de la fecha.) – harpo

Respuesta

130

la ruta de acceso puede ser completa o relativa (por supuesto, si la imagen es de otro dominio debe ser completa).

No necesita utilizar comillas en el URI; la sintaxis o bien puede ser:

background-image: url(image.jpg); 

O

background-image: url("image.jpg"); 

Sin embargo, desde W3:

Algunos personajes que aparecen en un URI sin comillas, como paréntesis, espacios en blanco, comillas simples (') y comillas dobles ("), se deben escapar con una barra invertida para que el valor de URI resultante sea un token de URI:' \ (',' \) '.

Por lo tanto, en instancias como estas, es necesario utilizar comillas o comillas dobles, o escapar de los caracteres.

0

¡No necesita utilizar comillas y puede usar cualquier ruta que desee!

47
  1. No, no necesita cotizaciones.

  2. Sí, puedes. Pero tenga en cuenta que las URL relativas se resuelven desde la URL de su hoja de estilo.

  3. Es mejor no utilizar comillas. Creo que hay clientes que no los entienden.

21

1) poner entre comillas es un buen hábito

2) que puede ser ruta relativa, por ejemplo:

background-image: url('images/slides/background.jpg'); 

buscará carpeta de imágenes en la carpeta desde la que se carga css. Entonces, si las imágenes están en otra carpeta o fuera del árbol de carpetas CSS, debe usar la ruta absoluta o relativa a la ruta raíz (comenzando con /)

3) debe usar la declaración completa de la imagen de fondo para que se comporte de forma coherente a través de los navegadores compatibles con estándares como:

background:blue url('/images/clouds.jpg') no-repeat scroll left center; 
+1

¿No quiere decir 'fondo en lugar de' background-image'? – Gumbo

+0

gracias por señalar @Gumbo debería ser * fondo * – TheVillageIdiot

+1

¿por qué poner citas es un buen hábito? –

0

Tener un vistazo a las páginas de referencia sitepoint respectivos para background-image y URIs

  1. No tiene que estar entre comillas, pero se puede utilizar si lo desea. (Creo que IE5/Mac no admite comillas simples).
  2. Tanto relativo como absoluto es posible; una ruta relativa es relativa a la ruta del archivo css.
5

Las rutas relativas son correctas y no se necesitan presupuestos. Otra cosa que puede ayudar es usar la propiedad "taquigrafía" background para especificar un color de fondo en caso de que la imagen no se cargue o no esté disponible por algún motivo.

#elementID { 
    background: #000 url(images/slides/background.jpg) repeat-x top left; 
} 

Nótese también que se puede especificar si la imagen se repetirá y en qué dirección (si no se especifica, el valor predeterminado es repetir horizontal y vertical), y también la ubicación de la imagen en relación con su envase.

3

Si las imágenes están en un directorio independiente de su archivo css y desea que la ruta relativa empieza desde la raíz de su sitio web:

background-image: url('/Images/bgi.png'); 
+0

Vine no estaba buscando puedo usar una ruta relativa ... Estaba buscando cómo usar una ruta relativa ... +1 para tener claro dónde comienza la ruta. –

0

simplemente marque la estructura de directorios donde se supone exactamente la imagen que tiene una carpeta css y una carpeta de imágenes fuera de la carpeta css, entonces tendrá que usar "../images/ image.jpg" y funcionará como lo hizo para mí, solo asegúrese de que la estructura del directorio.

-1

acaba de escribir en su archivo css como abajo

background:url("images/logo.jpg") 
-1

que realmente no necesita comillas si Digamos que su uso está utilizando la imagen de su archivo CSS puede ser

{background-image: url(your image.png/jpg etc);} 
Cuestiones relacionadas