หมายความว่าอย่างไรเมื่อ Chrome Dev Tools แสดงคุณสมบัติที่คำนวณแล้วเป็นสีเทา


93

โปรดทราบว่าไม่ใช่แผงสไตล์ (ฉันรู้ว่าสีเทาหมายถึงอะไรในบริบทนั้น - ไม่ได้ใช้) แต่แผงถัดไปคือแผงคุณสมบัติที่คำนวณ

หมายความว่าอย่างไรเมื่อคุณสมบัติที่คำนวณแล้วแสดงเป็นสีเทา

ตัวอย่าง:

ป้อนคำอธิบายภาพที่นี่



คำตอบ:


62

หมายเหตุ: คำตอบนี้ไม่มีหลักฐานที่ชัดเจนขึ้นอยู่กับการสังเกตของฉันตลอดเวลา

คุณสมบัติจากการคำนวณสีเทาไม่ใช่ค่าเริ่มต้นหรือสืบทอดมา สิ่งนี้เกิดขึ้นเฉพาะกับคุณสมบัติที่ไม่ได้กำหนดไว้สำหรับองค์ประกอบ แต่คำนวณจากลูกหรือพาเรนต์ตามการแสดงผลโครงร่างรันไทม์

ยกตัวอย่างหน้าง่ายๆนี้เป็นdisplayค่าเริ่มต้นและfont-sizeสืบทอดมา:

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

ป้อนคำอธิบายภาพที่นี่

ในตัวอย่างheightนี้คำนวณจาก<p>โหนดลูกของ - โหนดข้อความ (ขนาดแบบอักษรบวกความสูงของบรรทัด) widthคำนวณจาก<div>ความกว้างของพาเรนต์ซึ่งคำนวณจากพาเรนต์<body>ด้วย


แก้ไข:ฉันคิดอีกครั้งนี่คือคำตอบตามความคิดเห็นของฉัน ฉันควรไปดูซอร์สโค้ด Chromium ในภายหลัง: D

เมื่อขยายลูกศรเหล่านี้คุณจะเห็นได้ว่ากฎจริงใดถูกนำไปใช้กับองค์ประกอบในบรรดากฎทั้งหมดที่กำหนดไว้ (ไม่ว่าจะโดยตรงหรือสืบทอดโดยนักพัฒนาหรือเบราว์เซอร์)

ป้อนคำอธิบายภาพที่นี่

ที่นี่คุณสามารถติดตามทุกคำจำกัดความรวมถึงกฎในตัวของเบราว์เซอร์และตรวจสอบด้วยกลไก CSS cascading (overriding)

ดังนั้นสำหรับองค์ประกอบที่ไม่มีคำจำกัดความของ CSS (ไม่มีการกำหนดโดยตรงไม่มีการสืบทอดไม่มีเบราว์เซอร์ในตัว) คุณไม่มีแหล่งที่มาที่จะติดตาม และค่าคุณสมบัติจะคำนวณรันไทม์ทั้งหมด

หากคุณเลือกแสดงทั้งหมดคุณสมบัติที่เป็นสีเทาเพิ่มเติมจะแสดงขึ้น สิ่งเหล่านี้ไม่ได้กำหนดไว้ที่ใดก็ได้เช่นกัน แต่แตกต่างจากภาพหน้าจอก่อนหน้านี้ไม่ได้คำนวณรันไทม์ - เป็นค่าเริ่มต้นของข้อมูลจำเพาะ CSS

ป้อนคำอธิบายภาพที่นี่


2
ที่สมเหตุสมผล รายละเอียดอื่น ๆ อีกประการหนึ่ง: คุณสมบัติที่เป็นสีเทาไม่สามารถคลิกได้เช่นเดียวกับที่ผู้อื่นสามารถทำได้เพื่อแสดงที่มาของค่าในการประกาศเฉพาะ
AmbroseChapel

@AmbroseChapel ฉันคิดอีกครั้งและอัปเดตคำตอบของฉัน ฉันควรไปอ่านซอร์สโค้ดจริงๆ คำถามที่ดี.
ลีโอ

มันสมเหตุสมผลแล้วที่คุณสมบัติสีเทาrun-time calculatedเนื่องจากคุณสมบัติสีเทามักจะเป็น 'ความสูง' และ 'ความกว้าง' ซึ่งถ้าคุณคิดว่ามันเป็นค่าที่ขึ้นอยู่กับลูกขององค์ประกอบแบบไดนามิก (เช่นจำนวนข้อความและขนาดตัวอักษรของ ข้อความที่อยู่ภายในองค์ประกอบหรือความกว้างของพาเรนต์เมื่อองค์ประกอบมีความกว้าง: 100%)
Niko Bellic

4
คุณลักษณะ CDT ที่ดีสำหรับสิ่งนี้คือ: เพื่อดูวิธีการคำนวณค่าหมายถึงองค์ประกอบใดที่รวมเข้ากับwidthสไตล์ตัวอย่างเช่น
Legends
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.