Hola me quedó claro lo de especificidad en css, sin embargo me gustaría saber si en el html solo se considera la especificidad de Inline...

Yajayra Arauco Flores

Yajayra Arauco Flores

Pregunta
student
hace 5 años

Especificidad-important-id-inline_styles.png Hola me quedó claro lo de especificidad en css, sin embargo me gustaría saber si en el html solo se considera la especificidad de Inline styles(0,1,0,0,0) o le sumo también el de class y tag ???

Muchas gracias por su ayuda 😃

3 respuestas
para escribir tu comentario
    Yajayra Arauco Flores

    Yajayra Arauco Flores

    student
    hace 5 años

    Hola John, muchas gracias por la explicación. :D

    John Cardenas

    John Cardenas

    student
    hace 5 años

    Por cierto, en cuanto a tu pregunta: Sí, en HTML los inline styles solo consideran su especificidad, no se suma con clases, id o tag. Y como ves, el

    !important
    está por encima de todo, si lo quitas despues se aplicará
    #main-nav
    a y por último el inline styles. Lo mismo que te decía en la explicación.

    Saludos :)

    John Cardenas

    John Cardenas

    student
    hace 5 años

    Hola Yajayra. Te explicaré un poco sobre la especificidad y con eso espero responder tu pregunta:

    La es el orden por el cual el navegador decide qué estilos aplicarle a un elemento HTML. El orden en cual se decide esto es el siguiente:

    1. Importancia del selector: Si un estilo tiene el
      !important
      este será el primer y único estilo que le prestará atención el navegador.
    2. Especificidad: Si ningún estilo tiene el
      !important
      , el navegador evaluará la especificidad de cada elemento (ya vamos para allá)
    3. Orden de las fuentes → Si los elementos no tienen
      !important
      , ni clases, ni id (especificidad) se tendrá en cuenta el orden en el cual se mandan a llamar los estilos.

    En resumen: si 2 reglas tiene la misma importancia, pasa a evaluarse la especificidad de cada una. Si cuentan con la misma especificidad, pasa el orden a decidir cual se aplica.

    Ahora bien, en cuestión de importancia, estas son las reglas que primero se aplican:

    1. !important
    2. inline styles
    3. #ids
    4. .class
    5. tag

    Como ves, !important e inline styles son las más importantes y por lo tanto las que sobrescriben a las demás, les ganan a todo: especificidad y orden. Sin embargo, debemos evitarlos la mayoría de veces ya que son mala práctica. Siempre debemos tratar de usar las clases para los estilos.

    En resumen:

    !important > inline styles > #id > .class > tag
    . Imagina que un solo elemento tiene diferentes estilos. Pero el primero que con !important, el segundo inline styles y el tercero con id. Solo tomará el de !important, pero si borras el
    !important
    tomará el
    inline
    y si borras el
    inline
    tomará el
    id
    , y así sucesivamente...

    En cuanto al orden de las fuentes:

    Si se mandan a llamar unos estilos arriba y otros abajo (los dos con la misma clase) los últimos llamados sobrescribirán a los primeros, porque tal como su nombre lo indica, los estilos CSS se leen en cascada y guarda los últimos cambios/valores que lee en el archivo. (Este es un caso muy extremo, rara vez ocurre).

Curso de HTML y CSS [Empieza Gratis]

Curso de HTML y CSS [Empieza Gratis]

Crea vistas web fluidas y eficientes con HTML, CSS y Flexbox. Aprende a estructurar layouts adaptables, desde mobile a desktop, optimizando imágenes y aplicando buenas prácticas semánticas y de accesibilidad.

Curso de HTML y CSS [Empieza Gratis]
Curso de HTML y CSS [Empieza Gratis]

Curso de HTML y CSS [Empieza Gratis]

Crea vistas web fluidas y eficientes con HTML, CSS y Flexbox. Aprende a estructurar layouts adaptables, desde mobile a desktop, optimizando imágenes y aplicando buenas prácticas semánticas y de accesibilidad.