Tengo un gran archivo CSS y un archivo HTML. Me gustaría saber qué reglas no se utilizan al mostrar un archivo HTML. ¿Hay herramientas para esto?
El archivo CSS ha evolucionado durante algunos años y, por lo que sé, nadie ha eliminado nada de él: la gente simplemente escribió nuevas reglas primordiales una y otra vez.
EDITAR: Se sugirió utilizar los selectores Dust-Me o la herramienta de rendimiento de la página web de Chrome. Pero ambos trabajan en el nivel de selectores, y no en reglas individuales. Tengo muchos casos en los que una regla dentro de un selector siempre se anula, y esto es de lo que principalmente quiero deshacerme. Por ejemplo:
body { color: white; padding: 10em; }
h1 { color: black; }
p { color: black; }
...
ul { color: black; }
Todo el texto en mi HTML está dentro de algún elemento contenedor, por lo que nunca es blanco. body
El relleno siempre funciona, por lo que, por supuesto, body
no se puede eliminar todo el selector. Y me gustaría deshacerme de esas reglas inútiles también.
EDITAR: Y otro caso de regla inútil: cuando duplica una existente sin cambiar nada:
a { margin-left: 5px; color: blue; }
a:hover { margin-left: 5px; color: red; }
Me gustaría deshacerme de la segunda margin-left
... otra vez me parece que esas herramientas no encuentran esas cosas.
EDITAR: Agradezco todas las respuestas, pero lamentablemente las herramientas que sugirió no hicieron sugerencias útiles. Voté sus respuestas, pero esperaré una herramienta que haga las cosas de manera más granular, como se especificó anteriormente.
Gracias,
fuente
Respuestas:
Extensión Dust Me Selecters Firefox
En las Herramientas para desarrolladores de Chrome, puede usar la herramienta de rendimiento de la página web para buscar reglas CSS no utilizadas.
fuente
.abc
tiene un margen diferente,<a class="abc">
creo que cambiaría su margen al pasar el mouse por encima. Ahora eso probablemente no sea lo que pretendes, pero ciertamente podría ser, y no puedes eliminar ciegamente esa regla duplicada.a.abc
, o no hay <a class="abc"/> en ninguna parte del HTML, no existe. De todos modos, ya terminé la tarea que me llevó a hacer esta pregunta aquí, y terminé con la aplicación de muchas heurísticas. Probé las Herramientas para desarrolladores de Chrome, pero no me ayudaron mucho.También puede echar un vistazo a Unused-CSS.com. Esta herramienta explorará sus páginas y creará archivos CSS optimizados sin los selectores no utilizados.
fuente
Siempre me ha gustado el uso de CSS . Es un complemento para Firebug y le permite escanear la página y ver qué reglas CSS no se aplican. Incluso escaneará automáticamente y funcionará en varias páginas.
fuente
Marque uncss, es un módulo de nodo.
"UnCSS es una herramienta que elimina CSS no utilizado de sus hojas de estilo. Funciona en varios archivos y admite CSS inyectado con Javascript".
https://www.npmjs.com/package/uncss
Editar después del comentario:
Creo que estás pidiendo dos cosas diferentes:
Elimine las reglas no utilizadas automáticamente, esto es lo que uncss puede hacer por usted. También hice esta herramienta, CSS byebye, pero no es automática como usted pregunta: https://www.npmjs.com/package/css-byebye
Optimice la hoja de estilo donde las reglas pueden fusionarse / simplificarse.
En ese caso, recomendaría dos herramientas que hacen este tipo de cosas:
Hacen más o menos las mismas optimizaciones, a veces uno tiene mejores resultados que el otro, y a veces es lo contrario. Depende de tu hoja de estilo. (también puedes correr uno tras otro: P)
Los uso como parte de un proceso de construcción con gruñido. Entonces, no es realmente algo visual como lo preguntas, pero hacen el tipo de optimizaciones que deseas.
Esto es lo que dicen para CSSO (información completa aquí: https://en.bem.info/tools/optimizers/csso/ )
Optimizaciones estructurales:
fuente
@ John: excelente herramienta, gracias por el enlace
@liori: También recomendaría encarecidamente el complemento Firefox Web Developer que le permite mostrar los nombres / propiedades de los elementos, editar el CSS en tiempo real (no escribe en su archivo CSS) para que pueda editar y probar los cambios CSS sin el faff de tener que guardar y cargar su CSS cada 3 segundos. + carga más funciones.
También hay un inspector DOM muy agradable que se conecta a Firebug que también se conecta y es ideal para resolver Javascript.
fuente
En realidad, John, el nuevo navegador Firefox Developer Edition, es mejor que usar Firebug o la utilidad Firefox. Pruébalo y no te decepcionará, estoy seguro.
https://www.mozilla.org/en-US/firefox/developer/?utm_medium=paidsearch&utm_source=google&utm_campaign=dev-sem-q1-2015
fuente