opacity
สไตล์มีผลต่อองค์ประกอบทั้งหมดและทุกสิ่งที่อยู่ภายใน คำตอบที่ถูกต้องคือการใช้สีพื้นหลัง rgba แทน
CSS นั้นค่อนข้างง่าย:
.myelement {
background: rgba(200, 54, 54, 0.5);
}
... โดยที่ตัวเลขสามตัวแรกคือค่าสีแดงสีเขียวและสีน้ำเงินสำหรับสีพื้นหลังของคุณและตัวที่สี่คือค่าช่อง 'อัลฟา' ซึ่งทำงานในลักษณะเดียวกับopacity
ค่า
ดูข้อมูลเพิ่มเติมในหน้านี้: http://css-tricks.com/rgba-browser-support/
ข้อเสียคือมันใช้ไม่ได้ใน IE8 หรือต่ำกว่า หน้าฉันเชื่อมโยงด้านบนยังแสดงรายการเบราว์เซอร์อื่น ๆ อีกสองสามรายการที่ใช้งานไม่ได้ แต่ตอนนี้มันเก่ามากแล้ว เบราว์เซอร์ทั้งหมดที่ใช้งานอยู่ในปัจจุบันยกเว้น IE6 / 7/8 จะทำงานกับสี rgba
ข่าวดีก็คือที่คุณสามารถบังคับ IE ในการทำงานกับเรื่องนี้เป็นอย่างดีโดยใช้สับที่เรียกว่าCSS3Pie CSS3Pie เพิ่มคุณสมบัติ CSS3 ที่ทันสมัยจำนวนมากให้กับ IE เวอร์ชันเก่ารวมถึงสีพื้นหลัง rgba
ในการใช้ CSS3Pie สำหรับพื้นหลังคุณต้องเพิ่มการ-pie-background
ประกาศเฉพาะใน CSS ของคุณเช่นเดียวกับbehavior
สไตล์PIE ดังนั้นสไตล์ชีตของคุณจะมีลักษณะดังนี้:
.myelement {
background: rgba(200, 54, 54, 0.5);
-pie-background: rgba(200, 54, 54, 0.5);
behavior: url(PIE.htc);
}
หวังว่าจะช่วยได้
[แก้ไข]
สำหรับสิ่งที่คุ้มค่าดังที่คนอื่น ๆ กล่าวถึงคุณสามารถใช้filter
สไตล์ของ IE กับgradient
คำหลัก โซลูชัน CSS3Pie ใช้เทคนิคเดียวกันนี้อยู่เบื้องหลัง แต่ไม่จำเป็นต้องให้คุณยุ่งกับตัวกรองของ IE โดยตรงดังนั้นสไตล์ชีตของคุณจึงสะอาดขึ้นมาก (นอกจากนี้ยังเพิ่มคุณสมบัติที่ดีอื่น ๆ อีกมากมายด้วย แต่ไม่เกี่ยวข้องกับการสนทนานี้)