css - poner - rutas absolutas y relativas en html
¿Cómo usar rutas relativas/absolutas en css URLs? (3)
La url es relativa a la ubicación del archivo CSS , por lo que debería funcionar para usted:
url(''../../images/image.jpg'')
La URL relativa va dos carpetas hacia atrás, y luego a la carpeta de images
; debería funcionar para ambos casos, siempre que la estructura sea la misma.
De http://www.w3.org/TR/REC-CSS1/#url :
Las URL parciales se interpretan en relación con el origen de la hoja de estilo, no en relación con el documento
Tengo un servidor de producción y desarrollo. El problema es la estructura del directorio.
Desarrollo:
http://dev.com/subdir/images/image.jpg
-
http://dev.com/subdir/resources/css/style.css
Producción:
-
http://live.com/images/image.jpg
-
http://live.com/resources/css/style.css
¿Cómo puedo tener un style.css
en la carpeta css
que utiliza en ambos servidores la misma ruta para el background: url
propiedad background: url
? ¿Hay algún truco que pueda usar con rutas relativas?
Personalmente, arreglaría esto en el archivo .htaccess. Deberías tener acceso a eso.
Define tu URL CSS como tal:
url(/image_dir/image.png);
En su archivo .htacess, escriba:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^image_dir/(.*) subdir/images/$1
o
RewriteRule ^image_dir/(.*) images/$1
dependiendo del sitio.
Tenía el mismo problema ... cada vez que quería publicar mi CSS. Tenía que hacer una búsqueda / reemplazo ... y la ruta relativa tampoco me funcionaría porque las rutas relativas eran diferentes de las de la producción.
Finalmente estaba cansado de hacer la búsqueda / reemplazo y creé un CSS dinámico (por ejemplo, www.mysite.com/css.php), es lo mismo, pero ahora podría usar mis constantes php en el CSS. algo así como
.icon{
background-image:url(''<?php echo BASE_IMAGE;?>icon.png'');
}
y no es una mala idea hacerlo dinámico porque ahora podría comprimirlo usando el compresor YUI sin perder el formato original en mi servidor de desarrollo.
¡Buena suerte!