CSS عتامة وعناصر الطفل
-
23-09-2019 - |
سؤال
<style type="text/css">
div#foo {
background: #0000ff;
width: 200px;
height: 200px;
opacity: 0.30;
filter: alpha(opacity = 30);
}
div#foo>div {
color: black;
opacity:1;
filter: alpha(opacity = 100);
}
</style>
<div id="foo">
<div>Lorem</div>
<div>ipsum</div>
<div>dolor</div>
</div>
في المثال أعلاه ، عتامة div#foo
ورثته عناصر الطفل ، مما تسبب في أن يصبح النص غير قابل للقراءة تقريبًا. أفترض أنه من الخطأ القول بأنه ورث ، يتم تطبيق العتامة على Div الوالد والأطفال جزء من ذلك ، لذلك فإن محاولة تجاوزها للعناصر الفرعية لا تعمل لأنهم من الناحية الفنية غير شفافين.
عادةً ما أستخدم صورة خلفية Alpha PNG في مثل هذه الحالات ، لكنني اليوم أتساءل عما إذا كانت هناك طريقة أفضل لجعل خلفية شبه شفافة DIV دون التأثير على المحتويات.
المحلول
يمكنك استخدام RGBA ().
div#foo
{
background: rgba(0, 0, 255, 0.3);
}
لجعلها تعمل في استخدام المستكشفين على الإنترنت القدامى فطيرة CSS. هناك بعض القيود, ، ولكن يتم التعامل معها بطريقة متوافقة مع الوراء: سيتم تقديم قيمة RGB بشكل صحيح وسيتم تجاهل العتامة.
نصائح أخرى
أفضل طريقة هي ضبط PNG شفافة على الخلفية ..
إذا كنت تستخدم العتامة ، فسيتعين عليك وضعها في Div منفصلة ثم قم بتجميعها معًا. سيكون للخلفية DIV أقل عتامة ، وسيكون لدى المقدمة المحتوى الخاص بك مع عتامة 100 ٪.