Chrome Dev Tools에서 계산 된 속성이 회색으로 표시되면 무엇을 의미합니까?


93

제발 참고, 하지 스타일 패널 (나는 회색으로 어떤 것을 적용 상황에하지의 방법을 알고있다), 그러나 이상 다음 패널, 계산 된 속성 패널.

계산 된 속성이 회색으로 표시되는 것은 무엇을 의미합니까?

예:

여기에 이미지 설명 입력



답변:


62

NB :이 답변은 확실한 증거가 없으며 시간에 따른 내 관찰을 기반으로합니다.

회색 계산 된 속성은 기본적으로 물려 받았다. 이는 요소에 대해 정의되지 않았지만 런타임 레이아웃 렌더링을 기반으로 하위 또는 상위에서 계산 된 속성에서만 발생합니다.

이 간단한 페이지를 예로 들면 display기본값이며 font-size상속됩니다.

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

여기에 이미지 설명 입력

이 특정 예에서, height계산된다 <p>의 아이 - 텍스트 노드 (폰트 크기를 더한 라인 높이)를, width그 부모로부터 산출 - <div>'또한 부모로부터 계산의 폭을 <body>.


편집 : 글쎄요, 다시 생각했습니다. 여기에 내 의견 기반 답변이 있습니다. 나는 정말로 가서 나중에 Chromium 소스 코드를 살펴 봐야한다. : D

이러한 화살표를 확장하면 요소에 대해 정의 된 모든 규칙 (개발자 또는 브라우저에 의해 직접 또는 상 속됨) 중에서 요소에 적용된 실제 규칙을 확인할 수 있습니다.

여기에 이미지 설명 입력

여기에서 브라우저 내장 규칙을 포함하여 모든 정의를 추적 할 수 있으며 CSS 계단식 (재정의) 메커니즘으로 확인할 수 있습니다.

따라서 CSS 정의가없는 요소의 경우 (직접 정의되지 않고 상속되지 않으며 브라우저가 내장되지 않음) 추적 할 소스가 없습니다. 그리고 속성 값은 완전히 런타임 계산됩니다.

당신이 선택하면 모두 표시 , 더 회색 속성이 표시됩니다. 이것들은 어디에도 정의되어 있지 않습니다. 그러나 이전 스크린 샷과 달리 이는 런타임 계산아니라 CSS 사양 기본값입니다.

여기에 이미지 설명 입력


2
말이 되네요. 또 다른 세부 사항 : 회색으로 표시된 속성은 다른 속성과 마찬가지로 특정 선언에서 해당 값의 출처를 표시하기 위해 클릭 할 수 없습니다.
AmbroseChapel

@AmbroseChapel 다시 생각하고 내 대답을 업데이트했습니다. 나는 정말로 가서 소스 코드를 읽어야한다. 좋은 질문.
Leo

그것은 확실히 회색 속성임을 의미가 run-time calculated회색 속성은 당신이 그것에 대해 생각하면, 요소의 아이들 (동적으로 따라 값이있는, 일반적으로 '높이'와 '폭'이기 때문에 예를 들어, 텍스트의 글꼴 크기의 양 요소 내에 포함 된 텍스트 또는 요소가 너비를 가질 때 부모 너비 : 100 %)
Niko Bellic

4
이에 대한 멋진 CDT 기능은 다음과 같습니다. 값이 계산되는 방식을 확인하는 것은 width예를 들어 어떤 요소가 스타일에 추가되는지를 의미 합니다.
Legends
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.