¿Qué significa cuando Chrome Dev Tools muestra una propiedad calculada en gris


93

Tenga en cuenta que no el panel Estilos (sé lo que significa en gris en ese contexto, no aplicado), sino el siguiente panel, el panel Propiedades calculadas.

¿Qué significa cuando una propiedad calculada aparece atenuada?

Ejemplo:

ingrese la descripción de la imagen aquí



Respuestas:


62

NB: Esta respuesta no tiene evidencia sólida, se basa en mis observaciones a lo largo del tiempo.

Las propiedades calculadas en gris no son predeterminadas ni heredadas. Esto solo ocurre en propiedades que no se definieron para el elemento, pero que se calcularon a partir de sus elementos secundarios o primarios en función de la representación del diseño en tiempo de ejecución.

Tome esta simple página como ejemplo, displayes predeterminada y font-sizese hereda:

<style>
  div { font-size: 13px; }
</style>
<div>
  <p>asdf</p>
</div>

ingrese la descripción de la imagen aquí

En este ejemplo particular, heightse calcula a partir del <p>nodo de texto secundario (tamaño de fuente más alto de línea), widthse calcula a partir del <div>ancho de su padre , que también se calcula a partir de su padre <body>.


EDITAR: Bueno, lo pensé de nuevo, aquí está mi respuesta basada en opiniones . Realmente debería ir y echar un vistazo al código fuente de Chromium más tarde: D

Al expandir esas flechas, podría ver qué regla real se aplica al elemento, entre todas las definidas en su contra (ya sea directamente o heredadas, ya sea por el desarrollador o el navegador):

ingrese la descripción de la imagen aquí

Aquí puede rastrear cada definición, incluso incluidas las reglas integradas del navegador, y verificar con el mecanismo en cascada (anulación) de CSS.

Por lo tanto, para aquellos elementos que no tienen una definición de CSS (no están directamente definidos, no heredados, no tienen un navegador integrado), no tiene ninguna fuente para rastrear. Y los valores de las propiedades se calculan totalmente en tiempo de ejecución.

Si marca Mostrar todo , se muestran más propiedades en gris. Estos tampoco están definidos en ninguna parte. Pero a diferencia de las capturas de pantalla anteriores, estos no se calculan en tiempo de ejecución , son el valor predeterminado de la especificación CSS.

ingrese la descripción de la imagen aquí


2
Eso tiene sentido. Otro detalle: no se puede hacer clic en las propiedades en gris, de la misma forma que en las demás, para mostrar el origen de sus valores en una declaración en particular.
AmbroseChapel

@AmbroseChapel Lo pensé de nuevo y actualicé mi respuesta. Realmente debería ir y leer el código fuente. Buena pregunta.
Leo

Ciertamente tiene sentido que las propiedades grises lo sean, run-time calculatedya que las propiedades grises suelen ser 'altura' y 'ancho', que si lo piensas, son valores que dependen dinámicamente de los elementos secundarios de un elemento (por ejemplo, la cantidad de texto y el tamaño de fuente de el texto que está contenido dentro del elemento, o el ancho del padre cuando el elemento tiene ancho: 100%)
Niko Bellic

4
Una buena característica de CDT para esto sería: para ver cómo se calculan los valores, significa: qué elementos se suman al widthestilo, por ejemplo.
Legends
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.