سؤال

لدي صفحة HTML التالية:

<body>
    <div class="hide1" style="width:1000px; height:1000px;">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td colspan="2" align="center">Heading</td>
        </tr>
        <tr>
          <td width="51%">Left1</td>
          <td width="49%">right 1 </td>
        </tr>

        <tr>
          <td>Left 2 </td>
          <td>right 2 </td>
        </tr>
    </table>
    </div>
</body>

الفصل hide1 هو:

<style>
.hide1 {
  background: url(back.png) no-repeat;
}
</style>

ووظيفة jQuery هي:

<script>
 $(document).ready(function(){
 $("div.mover").click(function () {
 $("div.hide1").fadeTo("slow", 0.33);
 });
 });
</script>

مشكلتي هي أن الصفحة بأكملها تتلاشى. لكني أريد فقط أن أتلاشى صورة الخلفية لـ Div. كيف يمكنني فعل هذا؟

هل كانت مفيدة؟

المحلول

ماذا عن إضافة واحدة أخرى مع صورة الخلفية وتلاشي ذلك فقط؟

شيء مثل:

<div class="wrapper">
  <div class="image">
    //FADE THIS
  </div>
  <div class="content">
    // DON'T FADE THIS
  </div>
</div>

يمكنك استخدام تحديد المواقع المطلقة لل divs الداخلية.

نصائح أخرى

لا يمكنك تطبيق عتامة CSS فقط على صورة خلفية العنصر.

يجب أن يكون لديك عنصرين ، أحدهما يحتوي على صورة الخلفية (التي يمكنك أن تتلاشى) وآخر يحتوي على المحتوى غير الصائغ. ثم يمكنك وضعها فوق بعضها البعض باستخدام تحديد موقع CSS.

يمكن أن يصبح هذا أمرًا صعبًا عندما لا يكون ارتفاع عنصر المحتوى معروفًا مقدمًا لأنك تحتاج إلى جعل عنصر الخلفية بنفس الارتفاع ؛ قد تحتاج إلى مزيج من تحديد المواقع المطلقة والنسخ الاحتياطي للرسوم النصية لـ IE6 في هذه الحالة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top