Comprobando si un css carga un archivo externo

Estoy construyendo una herramienta para minimizar y compilar archivos CSS a pedido. Los archivos pueden estar en diferentes carpetas, y necesito que se llamen desde su carpeta original si se refieren a un archivo externo (imagen, otro css, ¿fuente tal vez?).

Me pregunto qué cuerdas debo buscar. solo veo url( y @import, pero estoy bastante seguro de que me estoy perdiendo algunos.

preguntado el 09 de marzo de 13 a las 14:03

¿Hay algún problema con una herramienta minify existente? -

En el caso de CSS (no Sass, que usa la importación para producir un archivo CSS combinado a partir de varios archivos Scss), la importación es la única sintaxis que se usa para incluir de manera efectiva las declaraciones de estilo dentro de ese archivo CSS, al menos que yo sepa. Por supuesto, no hay nada que impida que el autor de la página se vincule a varias hojas de estilo por separado dentro del encabezado del documento. Cuando te refieres a compilar, ¿te refieres a un preprocesador como Sass o LESS? CSS en sí mismo es declarativo y no compilado. -

Uso un minificador existente, pero mis archivos están ubicados en diferentes lugares, y deseo minimizar todos los que no dependen de otros archivos, y minimizar uno por uno los que sí lo hacen. -

@pwdst: aunque uso un preprocesador para Sass and Less, me refiero aquí al siguiente paso que consiste en minimizar y agrupar el CSS en un solo archivo (pero solo para los que no tienen archivos externos):

Personalmente puedo recomendar encarecidamente Compass.app (compass.handlino.com) para minimizar y combinar múltiples archivos Scss o parciales en un solo archivo de salida CSS minimizado, pero necesitaría que todos los archivos estuvieran en el mismo directorio tanto a) para poder hacer esto como b) para garantizar que las rutas relativas a las imágenes de fondo, etc. no están rotas. ¿Hay alguna buena razón para dividir los archivos en diferentes ubicaciones? Por $ 10 (o simplemente compilando desde la fuente de forma gratuita) podría tener una excelente solución lista para usar. -

1 Respuestas

Puedo pensar en CSS propietario: behavior que carga .htc (.js en algunos servidores) para que navegador. También existe como -ms-behavior.
EDITO: ups, behavior utilizará url() también, no behavior() como escribí anteriormente... Mi error. Ex:

.ie67 * {
  behavior: url('htc/boxsizing.htc');
}

No creo que filter / -ms-filter puede cargar un recurso externo; se aplicará más bien a las imágenes y demás (que alguien me corrija si me equivoco).

En CSS2.1, los recursos externos son URI entonces, excepto @import (que debe aparecer antes que cualquier otra cosa), creo que su lista está completa.

respondido 09 mar '13, 15:03

¡Y acabo de encontrar este comportamiento () en mi biblioteca css! Se habría roto en algún momento. Gracias - nabab

De nada. Incluso si behavior es propietario, boxsizing.htc or css3pie.htc son muy útiles para nombrar sólo 2 ejemplos! ;) - Felipe Als

Y me equivoqué: behavior también usa el url() sintaxis. Edité mi respuesta en consecuencia: Felipe Als

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.