Al usar múltiples archivos CSS en la misma página y colisionan, ¿cómo sé cuál se va a utilizar? Por ejemplo, si uno dice fondo de cuerpo azul y el otro dice rojo.Orden de priorización cuando se usan archivos css múltiples contradictorios
Respuesta
respuesta rápida:
Si ambas piezas de CSS tienen el mismo specificity (por ejemplo, los dos son body{
), a continuación, lo que se vuelve a llamar ÚLTIMO anulará la anterior.
PERO, si algo tiene mayor especificidad (un selector más específico), se usará independientemente del orden.
Ejemplo 1:
<div class="container">
<div class="name">Dave</div>
</div>
<style>
.name { color: blue; }
.name { color: red; }
</style>
El ejemplo anterior hará que el color rojo. Ambos selectores son iguales y, por lo tanto, también tienen la misma especificidad. Y como CSS lee de arriba a abajo, primero le decimos que sea azul, pero luego lo anulamos diciéndole "no importa, hazlo rojo".
Ejemplo 2:
<div class="container">
<div class="name">Dave</div>
</div>
<style>
#container .name { background-color: blue; }
.name { background-color: red; }
</style>
El ejemplo anterior hará que el color de fondo azul, a pesar de que el azul era en primer lugar porque el selector es more "specific".
Excepción (el uso de !important
):
La inclusión de !important anulará tanto la especificidad y el orden, pero en mi opinión, sólo debe utilizarse si usted está tratando de meterse con una código de terceros en el que no tiene acceso para cambiarlo de otra manera.
CSS externa:
reglas de sobrescritura funcionan de la misma en los archivos CSS externos. Solo imagínenlos poniéndolos en penúltimo, de arriba a abajo. Los selectores llamados en el (los) primer (s) archivo (s) serán sobreescritos por selectores de especificidad idéntica en cualquier archivo subsiguiente. Pero la especificidad todavía prevalecerá sobre el orden dentro del mismo archivo o en múltiples archivos.
Como prueba:
En Chrome, Firefox y versiones modernas de IE (probablemente Safari también), puede hacer clic derecho sobre algo y haga clic en "Inspeccionar elemento". Esto le mostrará el código HTML así como cualquier CSS aplicado. A medida que se desplaza hacia abajo de la CSS (generalmente a la derecha), verá cosas tachadas, lo que significa que son CSS incorrectos o que se han sobrescrito. Para probar, puede modificar los selectores de CSS (en su propio código o directamente en el cuadro de herramientas del desarrollador) para hacerlos más específicos y ver si eso no se tacha ... etc. Juega con esa herramienta, es MUY útil.
+1 para mencionar la especificidad: solo agregaría una mención de '! Important'. @Filip, para detalles, ver [http://www.w3.org/TR/CSS2/cascade.html](http://www.w3.org/TR/CSS2/cascade.html). –
@Ian Punto válido - No pensé en eso porque ODIO usarlo, pero es cierto. Editaré mi respuesta para incluir. (¡Gracias!) – Dave
Oh, sí, absolutamente, no es bonito, pero es válido. –
- 1. ¿Agregar imágenes cuando se usan gradientes de CSS?
- 2. Coma en CSS, selectores múltiples que usan el mismo CSS
- 3. Importar CSS o múltiples archivos CSS
- 4. ¿Cómo se usan los marcos de CSS?
- 5. Múltiples archivos CSS y rendimiento
- 6. Concatenar archivos CSS en un orden específico
- 7. contradictorios rasgos heredados anidados
- 8. Múltiples archivos javascript/css: ¿mejores prácticas?
- 9. ¿El orden de las tablas en una unión importa, cuando se usan las uniones IZQUIERDAS (externas)?
- 10. Estructura de archivos de Cassandra: ¿cómo se usan los archivos?
- 11. Cómo definir RequestMapping priorización
- 12. Orden de carga de archivos CSS y JavaScript externos
- 13. ¿Es posible evitar copias de datos cuando se usan archivos mapeados en memoria en C#?
- 14. TFS 2012 Cartera priorización
- 15. Combinar y minificar múltiples archivos CSS/JS
- 16. ¿Los selectores no admitidos para CSS funcionan cuando se usan dentro de jQuery?
- 17. Linux: ¿cómo se usan los archivos .pc cuando se vinculan con una biblioteca compartida?
- 18. ¿Cómo se usan las versiones de rieles múltiples con rbenv?
- 19. ¿Por qué SQL Server se ralentiza cuando se usan variables?
- 20. System.StackOverflowException, cuando se establece ¿Se usan las propiedades?
- 21. desbordamiento: oculto no funciona cuando se usan las tablas
- 22. Error de ambigüedad de C# cuando se usan propiedades
- 23. ¿Explicar la sincronización de colecciones cuando se usan iteradores?
- 24. ¿IE9 habilita 'algo' cuando se usan herramientas de desarrollador?
- 25. Responde en mongodb cuando se usan valores de _id personalizados
- 26. ¿Cómo se usan las clases de los archivos .jar?
- 27. Cargando múltiples archivos CSS con petición http sola
- 28. Limpiar archivos CSS
- 29. orden de enlace en css
- 30. ¿Qué hacen los símbolos Clojure cuando se usan como funciones?
Si aún no lo tiene, descargue el complemento Firebug para Mozilla Firefox. Tiene un explorador CSS que le permite ver todos los estilos y clases en un elemento DOM específico. Incluso le permite editarlos ad-hoc y ver visualmente los resultados en cualquier página. Esto más que nada me ayudó a aprender cómo CSS interactúa con una página. –
Firebug y chrome inspector (y opera firefly) son herramientas invaluables al diseñar páginas web. –