[المتصفحات المشاركة في الاختبار: IE6/IE7/IE8/FF3/OP9.6/SF3/Chrome2]
[نظام التشغيل: Windows]
يبدو أن العديد من الطلاب مهووسون بمشكلة سبب وجود div هذا في الطبقة العليا ووجود div في الطبقة السفلية، وبغض النظر عن كيفية تعيين مؤشر z، فلن يتمكنوا من الحصول عليه إنهم يعانون من القيء والإسهال والغثيان والأرق، وينتهي بهم الأمر بالاكتئاب. إلا أن تأثير تراكب الطبقات يظهر بشكل متكرر في تصميم التفاعل، لذا يجب علينا السيطرة عليه، وللتحكم فيه يجب أن نتقن قوانينه.
أولاً، قم بتوضيح بعض المفاهيم التي يجب استخدامها في هذه المقالة :
ملاحظة: تم تخصيص هذه المفاهيم بواسطة المؤلف ويتم استخدامها في هذه المقالة فقط.
اقتباس:
عنصر النظير هو كلمة أساسية للغاية ويجب شرحها بالتفصيل هنا.
في هذا المثال، div#a وdiv#b ليسا "عناصر شقيقة". فقط العناصر مثل div#b وdiv#c التي لها نفس الأصل div#f يمكن أن تسمى "عناصر شقيقة".
نهايةالاقتباس
دعونا نلقي نظرة على هذه القواعد الخمس :
القاعدة 1: عندما يتم وضع العناصر الشقيقة بنفس الطريقة ولا يوجد إعداد z-index، سيتم وضع html فوق الأخير.
تشغيل مربع التعليمات البرمجية
[Ctrl+A حدد كافة النصائح: يمكنك تعديل بعض التعليمات البرمجية أولاً]
القاعدة 2: عندما يتم وضع العناصر الشقيقة ديناميكيًا ولها إعدادات فهرس z، فإن العنصر ذو قيمة فهرس z الأكبر سيأتي أولاً.
تشغيل مربع التعليمات البرمجية
[Ctrl+A جميع نصائح التحديد: يمكنك تعديل جزء من الكود أولاً]
القاعدة 3: عندما يتم وضع العناصر الشقيقة بطرق مختلفة، ضعها ديناميكيًا في الأعلى.
تشغيل مربع التعليمات البرمجية
[Ctrl+A جميع نصائح التحديد: يمكنك تعديل جزء من الكود أولاً]
القاعدة 4: عندما لا يكون لدى العناصر غير الشقيقة، أي منها وعنصر أسلافها تخطيط ديناميكي، فستكون الأولوية لـ html.
تشغيل مربع التعليمات البرمجية
[Ctrl+A حدد كافة النصائح: يمكنك تعديل بعض التعليمات البرمجية أولاً]
القاعدة 5 : [مهم] عندما يكون لأي عنصر من العناصر غير الشقيقة أو عنصر سلفه موضع ديناميكي، ابحث لأعلى عن عنصر السلف المتوضع ديناميكيًا في نفس الوقت، واستخرج عنصر السلف ذو المستوى الأعلى (أو نفسه) لـ مقارنة. .
الحالة 1: بغض النظر عن حجم الفهرس z للعنصر الفرعي، فإن العنصر الأصلي الأكبر سيأتي أولاً.
الحالة 2: يتم وضع العنصر الأصلي في الأسفل، ويمكن أيضًا وضع العنصر الفرعي في الأعلى.
يتم دمج الحالة 1 والحالة 2 مع المقارنة الموسعة.
تشغيل مربع التعليمات البرمجية
[Ctrl+A جميع نصائح التحديد: يمكنك تعديل جزء من الكود أولاً]
اقتباس:
في الواقع، النقاط الأربع الأولى هي الأساسيات، والنقطة الخامسة فقط هي الأكثر صعوبة في الفهم:
في هذا المثال، قمنا بمقارنة العلاقة المتتالية بين div#a_inner5 وdiv#b_inner4.
حتى المستوى التالي من عنصر السلف div#ab الذي يتشاركونه، تتضمن عناصر السلف في div#a_inner5: div#a, div#a_inner1, div#a_inner2, div#a_inner3, div#a_inner4; تتضمن العناصر: div#b,div#b_inner1,div#b_inner2,div#b_inner3.
ثم قم بتحليل العناصر ذات الموضع الديناميكي بين عناصر أسلافها: العناصر ذات الموضع الديناميكي بين عناصر أسلاف div#a_inner5 هي: div#a, div#a_inner3; شعبة # ب_inner3.
ثم أخرج أعلى مستوى للمقارنة: div#a > #div#b_inner3.
عندما يكون العنصر الأصلي في الأسفل، ويمكن أن يكون العنصر الفرعي أيضًا في الأعلى، يتم استخدام العنصر غير الشقيق. عندما يكون للعنصر الأصل تخطيط ديناميكي، فإن مقارنته لا علاقة لها بالموضع: ثابت، ولكن سلفه. يمكن مقارنة العنصر من خلال موضع html.
نهاية الاقتباس
بالطبع، في بعض الأحيان هناك حالات خاصة، مثل الفلاش والتحديد في IE6 لا يمكن تغطيتها، وهي حالات غير طبيعية. يمكنك البحث عن المقالات ذات الصلة بنفسك.