Visual Studio también te ayuda en esto.
Solo tienes que poner el mouse por encima del selector y te dará la especificad
Web Developer Fundamentals
Qué aprenderás sobre HTML y CSS
¿Qué es el Frontend?
¿Qué es Backend?
¿Qué es FullStack?
Páginas Estáticas vs. Dinámicas
Quiz: Web Developer Fundamentals
HTML
HTML: anatomía de una página web
Index y su estructura básica: head
Index y su estructura básica: body
Reto: crea tu lista de compras del supermercado
Anatomía de una etiqueta de HTML
Quiz: HTML
Etiquetas multimedia
Tipos de imágenes
Optimización de imágenes
Etiqueta img
Etiqueta figure
Etiqueta video
Quiz: Etiquetas multimedia
Formularios
Etiqueta form e input
Calendar
Autocomplete y require
Select
Input type submit vs. Button tag
Quiz: Formularios
CSS
¿Qué es CSS?
¿Cómo utilizamos CSS?: por etiqueta, selector, class y por ID
Pseudo clases y pseudo elementos
Anatomía de una regla de CSS
Modelo de caja
Herencia
Especificidad en selectores
Demo de especificidad y orden en selectores
Más sobre selectores
Combinadores: Adjacent Siblings (combinators)
Combinadores: General Sibling
Combinadores: Hijo y Descendiente
Medidas
Medidas EM
Medidas REM
Max/Min width
Position
Display
Desafío: Layout 1
Display Flex
Flexbox layouts
Variables
Web fonts
Quiz: CSS
Responsive Design
Responsive design: media queries
Estrategias de responsive: mostly fluid
Implementando mostly fluid
Layout shifter CSS
Column drop
Buenas prácticas y ejemplos de responsive
Imágenes responsive
Quiz: Responsive Design
Accesibilidad
Semántica
Textos
Labels, alt y title
Próximos pasos
Próximos pasos como Web Developer
Bonus: tabla de etiquetas HTML
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Aportes 174
Preguntas 28
Visual Studio también te ayuda en esto.
Solo tienes que poner el mouse por encima del selector y te dará la especificad
REGLAS DE CASCADA (notas):
Esta pág. me es muy útil pues coloco mi código CSS y puedo monitorear su especificidad, es muy curiosa.
Generador gráfico de especificidad CSS
nota: tocar la pantalla para refrescar.
Especificidad es la manera mediante la cual los navegadores deciden qué valores de una propiedad CSS son más relevantes para un elemento y, por lo tanto, serán aplicados. La especificidad está basada en las reglas de coincidencia que están compuestas por diferentes tipos de selectores CSS.
Primer grupo (derecha a izquierda)
Segundo grupo (derecha a izquierda)
Tercer grupo (derecha a izquierda)
Cuarto grupo (derecha a izquierda) (no recomendado)
Quinto grupo (no recomendado)
CASCADAS
La cascada se usa cuando hay dos o mas declaraciones que afectan a un elemento, es decir, cuando hay mas de dos reclas que afectan a una etiqueta html, cuando esto ocurre la cascada determinara cual de estas es tiene mayor importancia, y la de mayor importancia sera la que se aplicara. L forma de calcular el peso de una regla no se hace de forma arbitraria, se calculan en base a 3 criterios:
1.- Importancia -----> Las declaraciones importantes son las declaraciones que van seguidas de una directiva llamada: !important. Cualquier otra declaracion sin !important son consideradas declaraciones normales.
2.- Especificidad -----> La regla dice que el selector mas especifico sera el que se tome en cuenta. La forma para calcular la especificidad de un selector se hace con la siguiente formula.
se juntan todos los bloques obtenidos, a mayor numero mayor especificidad, y sera tomado en cuente la regla con mayor especificidad.
3.-Orden ------> Podemos definir los estilos en hojas externas, en la cabecera de la pagina y en la misma etiqueta (estilos en linea), el navegador lee el contenido de una pagina de arriba hacia bajo y los ultimos estilos definidos seran los que se tomaran en cuenta.
Orden de declaración en .css
Importancia.
Hoja de estilo de agente de usuario (Estilos del navegador): primero el navegador va a implementar los estilos que ya trae por defecto
Declaraciones normales en hojas de estilo de autor (nuestro .css) que son los estilos que nosotros colocamos en nuestro proyecto.
Declaraciones importantes en hojas de estilos de autor (utilizar el !important)
Especificidad: el orden de importancia es:
Para evitar rescribir estilos y que se rompa nuestro código tenemos que evitar los !important, Iniline styles #id y tag.
Orden de la fuente: las declaraciones finales son las que se se van a ejecutar en el caso que los estilos tienen la misma especificidad
Como curiosidad y para calcular el “peso” de la especificidad en CSS podemos usar una herramienta como Specificity Calculator
Cuanto más grande sea el número calculado debajo mayor especificidad tendrá la regla.
Aquí un vídeo para reforzar aún mas el concepto de especificidad:
https://www.youtube.com/watch?v=v5GxoV14YOE
Falto mencionar las especificidad de los pseudo-clases y pseudo-elementos:
Pseudo-Clase: (0,1,0)
Pseudo-Elemento: (0,0,1)
Entender especificidad es entender CSS, prácticamente puedes tomarlo como que, mientras más espécífico sea, mayor importancia le dará CSS, y todos los estilos que tu coloques debajo de otros serán reemplazados en dado caso de que tengan la misma especificidad.
Esto es importante, porque por ejemplo, si tu quisieras reemplazar las clases de algún framework podrías hacerlo simplemente colocandop tus estilos DESPUÉS de mandar a llamar al Framework ^^
Para terminar de entender el tema de herencia en CSS es importante también entender el orden de la declaración y la especificidad que tiene CSS.
¿Cómo se controla el orden al declarar CSS?
Aquí se va a mencionar las reglas que aplica CSS y el navegador para poder implementar los estilos.
CSS y el navegador van a tener 3 puntos que son importantes para decidir que estilos se van a implementar
Cuando Diego habla sobre cómo carga CSS en el navegador, es algo parecido a esto:
Otro motivo por el cual no veas reflejado el css puede ser el cache de tu navegador.
Consegui esto me parecio interesante compartirlo
https://specifishity.com/
**RELEVANCIA DE ESTILOS
**
REGLA 1: si un estilo definido en la cabecera entra en conflicto con un estilo definido en un archivo externo, se aplican los estilos de aquella definicion que este mas cerca de la etiqueta afectada.
RELA 2: los estilos en linea, al ser aplicados directamente en la etiqueta son los que siempre tienen mayor relevancia.
REGLA 3: la unica excepcion a la regla 1 y 2 es el uso de !important, el cual le indica al navegador que al margen del orden como se han definidos los estilos, el elemento que contenga !important sera el que prevalece.
Un resumen de como se aplican las propiedades en CSS
📌 La especificidad es la importancia o valor que se le asigna a una declaración CSS.
El problema de especificidad lo encontramos mucho cuando usamos frameworks pues estos tienen sus propios estilos y etiquetas y batallar con estos algunas veces puede tornarse tedioso debido a la herencia. Por eso es importante ser mas especifico que el framework.
Saludos.
Esto lo vi en la clase de soy dalto.
Notas de la clase
¿Cómo se controla el orden al declarar CSS?
1. Importancia: Si dos declaraciones tienen la misma importancia entonces la especificidad nos va a decir que regla se aplicará, pero si dos reglas tienen la misma especificidad es el orden el que va a decidir cual es el resultado final.
1. El navegador va a cargar los estilos de forma distinta (primero aplica sus estilos).
2. Después cumple las declaraciones de las normas que vienen en nuestros estilos(todos nuestros CSS).
3. Por último, aplica los estilos que vienen con un “!important” al final en nuestra hoja de estilos. NO PONERLO PORQUE SI. Hay que evitarlo porque no son buenas prácticas.
2. Especificidad: De derecha a izquierda(menos importante a más importantes para el navegador). Si tenemos un conflicto. Por ejemplo: agregamos varios estilos y existe un conflicto de que se rompan los estilos y tenemos una etiqueta de html con una clase tendríamos 0,0,0,1,1 que es más importante que solo la clase; lo mismo con un id con clase
3. Orden en las fuentes (como mandas llamar los estilos o donde colocas el estilo): En los estilos, las declaraciones al final del documento anularán a las que sucedan antes en caso de conflicto. Es decir, como CSS es como una cascada, los estilos que siempre se van a aplicar son los que estén hasta abajo reescribiendo los de arriba. También aplica en los .css que mandemos llamar.
El algoritmo en cascada le va a dar más importancia al código que esté más abajo, siempre y cuando tenga el mismo nivel de especificidad. Si la especificidad es mayor entonces esa será su prioridad.
Orden es Especificad:
1- !important
2- Inline styles
3- #id
4- .class
5- tag
La Especificidad es uno de los temas más importantes a tomar en cuenta, y es por los que surge muchos inconvenientes a la hora de programar.
En cuanto a la la regla !important , ésta invalida a las demás por orden de jerarquía. Su utilidad es muy específica y concreta en muy pocos casos, lo mejor es no utilizarla ya que se considera una mala práctica.
Esta regla puedes verla utilizada “usualmente” en los CMS como Wordpress a la hora de modificar estilos. Ya que muchas veces no se puede acceder a los estilos básicos de la plantilla y en ese caso se opta por la regla** !important**. Pero si se puede evitar su uso, mucho mejor.
!important
de los que se realicen en los css.!important
, luego los inline style
, luego #id
, luego .class
y finalmente las tag de etiquetas
.Resumen de la clase

2- Declaraciones normales en hojas de estilo de autor (Nuestro.css)
3- Declaraciones importantes en hojas de estilos de autor (utilizar el !important)
Orden de las fuentes.
En tus estilos, las declaraciones al final del documento anularan a las que sucedan antes en caso de conflictos.
En este sitio pueden revisar cómo está su CSS respecto a la especificidad: https://jonassebastianohlsson.com/specificity-graph/
El selector universal (*) tiene una especificidad de 0,0,0 lo que significa que no causara conflicto alguno
[](
Uff el tema del orden de las fuentes me habría evitado ciertas frustraciones en clases pasadas jajaja 😦
Importarcia
Especificidad de mayor importancia a menor
Reglas de cascada
Orden de las fuentes
Gracias!
La especificidad es la manera mediante la cual los navegadores deciden qué valores de una propiedad CSS son más relevantes para un elemento y, por lo tanto, serán aplicados.
No entendí mucho, así que fui a esta página click y me se me facilito porque tenían imágenes.
Espero y les ayude también👍🏻
Maestro Diego:La importancia es uno de los conceptos mas importantes .
Yo: 😮 oh no puede ser , no no entendi.
Maestro Diego: de seguro ahorita no entendiste .
Yo:El maestro es adivino 😮
Estoy investigando para complementar el tema
Importancia > Especificidad > Orden de las fuentes
Importancia
1.- Hoja de estilo de agente de usuario(estilos del navegador)
2.-Declaraciones normales en hojas de estilo de autor (nuestro.css)
3.-Declaraciones importantes en hojas de estilos de autor (utilizar el !important)
Important no es un selector señor. Es una regla o una propiedad pero no un selector https://www.w3schools.com/css/css_important.asp
VSCode Nos ayuda a saber la especificidad:
¿Cómo se controla el orden al declarar CSS?
Importancia
Tenemos que evitar el “!important” porque no son buenas practicas.
Siempre que tengamos un tag y .class sera mas importante que tener un solo .class
Y de igual forma siempre una .class y un #id va a ser mas importante que solo un #id
Orden
ORDEN AL DECLARAR CSS:
1. Importancia:
1.1. Estilo del navegador
1.2. Nuestro estilo
1.3. !important (reemplaza los estilos que ya hay, tratar de evitarlo)
++2. Especificidad: ++
Reglas de cascada.
2.1. !importan (importancia: 1,0,0,0,0)
2.2. inline styles (importancia: 0,1,0,0,0)
2.3. #id (importancia: 0,0,1,0,0)
2.4. .class (importancia: 0,0,0,1,0)
2.5. tag (importancia: 0,0,0,0,1)
3. Orden en las fuentes
Este tema es muy importante para no frustrarnos con CSS cuando algunos estilos no se aplican como nosotros queremos.
Importancia
a) Hoja de estilo de agente de usuario (estilos del navegador).
b)Declaraciones normales en hojas de estilo de autor (CSSDocument.css)
c)Declaraciones importantes en hojas de estilos de autor (utiliza el import !import) Evitarlo
Especificidad
Nota: Entre más cerca esté el 1 a la izquierda mayor preferencia le dará el navegador
Nota 2: Tratar de evitar el uso de important e inline style
Nota 3: Cuando se usa dos o más selectores la especificidad que le dará el navegador web será dada por la suma de los selectores que se usaron (Son valores binarios entre mayor sea este valor mayor especificidad tendrá)
3. Orden en las fuentes: Los estilos que se llamen al final sobrescribirán los estilos ya establecidos, es como pintar una casa la última capa de pintura quitará el color de la primera
¿Diferente origen o !important?
Si
Utiliza la declaración con mayor prioridad
No
¿Tiene algún inline style?
Si
Utiliza las inline declaration
No
¿Los selectores tienen una especificidad diferente?
Si
Utiliza las declaraciones con mayor especificidad
No
Utiliza las declaraciones que vienen en su fuente
En este caso les comparto esta web, está hermosamente diseñada en CSS, aunque está en inglés me ha ayudado a entender mejor la clase:
https://wattenberger.com/blog/css-cascade
excelente aporte
hola amigos una pregunta, cual es la diferencia entre un ID y un .CLASS
Que bacán enseña el profe de Granda, un genio
nice class!!
GRACIAS
MUY INTERESANTE
💚
Muchisimas gracias!!
Importancia: 1 - Estilos de Navegador 2 - Nuestro .css 3 - EL !important
Esto es lo que me faltaba saber para no pelear con css xd
gracias a !important puedo llevar pan a mi casa JAJAJAA
Entender esto es súper importante!
Que largo este cursoo pero que necesario!! Vamos Platzi day! Gracias a todo el team por esta oportunidad!
despues de ver estaexplicacion 10 veces ahora me queda super claro XD
Este sera nuestra nueva biblia al momento de escribir CSS y tener dudas en la Especificidad, es decir que tiene mas peso u valor en nuestro documento…
y también hay que saber que hace CSS cuando detecta algun conflicto con los mismos…
Esta clase super importante, dificil de comprender
RESUMEN CLASE 27:
ESPECIFICIDAD EN
SELECTORES
¿Cómo se controla el
orden al declarar CSS?
I. Importancia
II. Especificidad
III. Orden en las fuentes
I.- IMPORTANCIA
A.- ESPECIFICIDAD
B.- REGLA DE CASCADA
III.- ORDEN DE LAS FUENTES
En tus estilos, las declaraciones al final del
documento anularán a las que sucedan
antes en caso de conflicto.
Información resumida de esta clase
#EstudiantesDePlatzi
Debemos tener claro el orden de la declaración y la especificidad en CSS. Es importante
El orden de la declaración en CSS es el siguiente:
Si tenemos dos declaraciones importantes, el orden lo va a definir la especificidad y si tenemos dos declaraciones con la misma especificidad, el orden lo define la fuente
Utilizar !important es una mala práctica y debemos evitarla
El navegador aplica los estilos en forma de cascada
¿Cómo se controla el orden al declarar CSS?
Importancia
primero carga los estilos del navegador
después carga los estilos de nuestro .css
por último aplica los estilos que nosotros hayamos marcado como !important en nuestro .css
Especificidad (Mayor a menor importancia)
!important (muy importante)
estilo en línea
#id
.class
tag (menos importante)
no me quedo claro lo que es un estilo embebido
Debemos entender el orden de declaración y especificidad en CSS para comprender bien la herencia. Muchas veces generamos estilos que no vemos en el navegador, o cambiamos un estilo y se rompen otros.
¿Cómo se controla el orden al declarar CSS?
Los números se leen de derecha (menos importantes) a izquierda (más importantes).
Como observamos, !important es el más importante para el navegador, y lo debemos evitar.
Inline styles son los estilos que se embeben en la etiqueta html. Se van a aplicar los estilos embebidos por encima de los estilos aplicados.
Luego se aplican los #id.
Luego se aplican las clases .class.
tag son los selectores que se aplican a etiquetas html.
Si estás, por ejemplo, llamando una clase y no funciona, puedes llamar dos en vez de una. Dos son más importantes que una, logrando así reescribir los estilos.
Puedes calcular la especificidad de los estilos en esta página.
Cuando hay dos etiquetas con el mismo estilo o clases similares, hay un conflicto. Para resolverlo, el navegador toma en cuenta el siguiente algoritmo:
Aprendi un poco mas en este video les dejo el link y esta screen para entender mejor el tema de esta clase:
Por fin pude entender la especificidad!!!
Gracias Diego ❤️
Se nota que HTML y CSS está hecho por varias personas diferentes y es parche sobre parche.
Si estuviera mejor diseñado y estructurado no habría posibilidad de tantos posibles conflictos.
Esta es una clase de Chino jajajaja
Puedes entender la especifidad como un puntaje donde Important vale 10000 pts, estilo en linea vale 1000 pts, el id vale 100, las clases valen 10 y luego los demas
.
En caso de que haya un conflicto, se aplicará el estilo del selector que tenga mayor puntaje:
.
.container-padre {
}
.
.container-padre .container-hijo {
}
.
El segundo selector es más especifico porque tiene 2 clases y suman 20pts, el primero tiene solo una clase y suma 10pts
orden de decisiones cuando hay conflicto al aplicar estilos
La especificidad es super importante en la practica es por eso que siempre se debe usar id y classes para hacer todos los estilos en nuestro codigo evitando usar el important!
esto hace que, si es el caso, se facilite mas encontrar la razon por la que nuestros estilos no se aplican
Muy importante entender la “Especificidad” para poder modificar y agregar estilos en nuestro CSS.
Me está encantando este curso 😄
En lugar de usar !important, considera:
Hacer un mejor uso de las propiedades en cascada de CSS.
Usar reglas más específicas. Indicando uno o más elementos antes del elemento que estás seleccionando, la regla se vuelve más específica y gana mayor prioridad:
Important
Algunas reglas de oro:
Busca siempre una manera de emplear la especificidad antes de considerar el uso de !important.
Usa !important solo en declaraciones específicas de CSS que sobrescriban CSS externo (de librerías externas como Bootstrap o normalize.css).
Nunca uses !important cuando estés intentando escribir un plugin/mashup.
Nunca uses !important en todo el código CSS.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.