อะไร!important
หมายถึงใน CSS?
มันมีอยู่ใน CSS 2 หรือไม่? CSS 3
สนับสนุนอยู่ที่ไหน เบราว์เซอร์ที่ทันสมัยทั้งหมดหรือไม่
อะไร!important
หมายถึงใน CSS?
มันมีอยู่ใน CSS 2 หรือไม่? CSS 3
สนับสนุนอยู่ที่ไหน เบราว์เซอร์ที่ทันสมัยทั้งหมดหรือไม่
คำตอบ:
มันแปลว่าอะไรเป็นหลัก ว่า 'สิ่งนี้สำคัญไม่สนใจกฎที่ตามมาและปัญหาเฉพาะเจาะจงตามปกติให้ใช้กฎนี้ !'
ในการใช้งานตามปกติกฎที่กำหนดไว้ในสไตล์ชีทภายนอกจะถูกแทนที่ด้วยสไตล์ที่กำหนดไว้ในhead
เอกสารซึ่งในทางกลับกันจะถูกแทนที่ด้วยสไตล์อินไลน์ภายในองค์ประกอบของตัวเอง การกำหนดกฎด้วย!important
'แอตทริบิวต์' (?) จะยกเลิกข้อกังวลตามปกติโดยคำนึงถึงกฎ 'ภายหลัง' ที่แทนที่กฎ 'ก่อนหน้า'
โดยปกติแล้วกฎที่เจาะจงยิ่งกว่านั้นจะแทนที่กฎที่เจาะจงน้อยลง ดังนั้น:
a {
/* css */
}
โดยปกติจะถูกแทนที่โดย:
body div #elementID ul li a {
/* css */
}
เนื่องจากตัวเลือกหลังนั้นมีความเฉพาะเจาะจงมากกว่า (และไม่ปกติโดยทั่วไปไม่ว่าจะพบตัวเลือกที่เฉพาะเจาะจงมากขึ้น (ในhead
หรือสไตล์ชีตภายนอก) จะยังคงแทนที่ตัวเลือกที่เฉพาะเจาะจงน้อยลง (แอตทริบิวต์ของสไตล์ในบรรทัดจะเสมอแทนที่ตัวเลือก 'more-' หรือตัวเลือก 'less-' เนื่องจากจะมีความเฉพาะเจาะจงมากกว่า
อย่างไรก็ตามหากคุณเพิ่มลง!important
ในการประกาศ CSS ของตัวเลือกที่ไม่เจาะจงก็จะมีความสำคัญ
การใช้!important
มีจุดประสงค์ (แม้ว่าฉันจะพยายามคิดถึงพวกมัน) แต่มันก็เหมือนกับการใช้ระเบิดนิวเคลียร์เพื่อหยุดสุนัขจิ้งจอกฆ่าไก่ของคุณ ใช่สุนัขจิ้งจอกจะถูกฆ่า แต่ไก่ก็เช่นกัน และบริเวณใกล้เคียง
นอกจากนี้ยังทำให้การดีบัก CSS ของคุณเป็นฝันร้าย (จากส่วนตัวประสบการณ์เชิงประจักษ์)
important!
(สำคัญไม่ได้)
กฎ!! สำคัญเป็นวิธีที่จะทำให้ CSS ของคุณเรียงซ้อน แต่ยังมีกฎที่คุณรู้สึกว่าสำคัญที่สุดจะถูกนำไปใช้เสมอ กฎที่มีคุณสมบัติ!! สำคัญจะถูกนำไปใช้เสมอไม่ว่าจะมีกฎนั้นปรากฏในเอกสาร CSS ที่ใดก็ตาม
ดังนั้นหากคุณมีสิ่งต่อไปนี้:
.class {
color:red !important;
}
.outerClass .class {
color:blue;
}
กฎที่มีความสำคัญจะถูกนำไปใช้ (ไม่นับเฉพาะ )
ฉันเชื่อว่า!important
ปรากฏใน CSS1 ดังนั้นเบราว์เซอร์ทุกตัวรองรับ (IE4 ถึง IE6 ที่มีการนำไปใช้บางส่วน, IE7 + เต็ม)
นอกจากนี้ยังเป็นสิ่งที่คุณไม่ต้องการใช้บ่อยเพราะถ้าคุณทำงานกับคนอื่นคุณสามารถแทนที่คุณสมบัติอื่น ๆ ได้
!
เป็นสัญลักษณ์สำหรับบางภาษา แต่มันชัดเจนขึ้นในขณะนี้
!important
ฉันดีใจโดยเฉพาะอย่างยิ่งที่คุณรวมไวยากรณ์สำหรับการใช้ CSS แตกต่างจากภาษาอื่น ๆ ซึ่งง่ายต่อการลืมวิธีการใช้บางสิ่ง
important!
หรืออาจจะมากกว่าIMPORTANT!
!important
ฉันสงสัยว่าใคร (ที่อาจอ่านนี้) รู้ว่าทำไมพวกเขากำหนดด้วยเครื่องหมายวรรคตอนที่ด้านหน้า? เห็นได้ชัดว่ามันเปลี่ยนสายเกินไปแล้ว
!important
เป็นส่วนหนึ่งของ CSS1
เบราว์เซอร์ที่รองรับ: IE5.5 +, Firefox 1+, Safari 3+, Chrome 1+
มันหมายถึงบางสิ่งเช่น:
ใช้ฉันถ้าไม่มีอะไรสำคัญรอบตัว!
ไม่สามารถพูดได้ดีกว่า
!important
ไม่ จำกัด เฉพาะ Safari 3+ เท่านั้น มันรองรับตั้งแต่เริ่มแรกเหมือนกับเบราว์เซอร์ที่ไม่ใช่ IE อื่น ๆ ทั้งหมด IE เข้าใจตั้งแต่เวอร์ชัน 4 ขึ้นไป แต่รองรับเฉพาะบั๊กที่ไม่มีข้อผิดพลาดเริ่มจากเวอร์ชั่น 7
มันถูกใช้เพื่อให้มีอิทธิพลต่อการเรียงลำดับใน CSS เรียงซ้อนเมื่อเรียงลำดับตามจุดเริ่มต้นเสร็จสิ้น มันไม่มีอะไรเกี่ยวข้องกับความจำเพาะเช่นที่ระบุไว้ที่นี่ในคำตอบอื่น ๆ
นี่คือลำดับความสำคัญจากต่ำสุดไปสูงสุด:
หลังจากนั้นความจำเพาะเกิดขึ้นสำหรับกฎที่ยังมีนิ้วอยู่ในวงกลม
อ้างอิง:
มันเปลี่ยนกฎสำหรับการแทนที่ลำดับความสำคัญของ css cascades ดูข้อมูลจำเพาะ CSS2