سؤال

أنا إنشاء نظام القائمة باستخدام UL/LI هيكل.أحاول استخدام الأخوة محددات لتحوم/تظهر القوائم الفرعية.

أنا باستخدام هذا ؛

#MainMenu li.Sel ul li.HasSub a:hover+ul {
     display: block;
}

UL هيكل سيكون شيئا مثل هذا ؛

<ul id='MainMenu'>
    <li class='Sel'>
    <a href='#'>Click Me</a>
        <ul>
            <li class='HasSub'>
                <a href='#'>Hover Over Me</a>
                <ul>
                    <li>Link</li>
                    <li>Link</li>
                </ul>
            </li>
        </ul>
    </li>
</ul>

يفترض عندما تحوم فوق "تحوم فوق لي" ، الأخوة المجاهدين يجب أن يتم عرض.يعمل كبيرة في فايرفوكس ، ولكن ليس على الإطلاق في IE8.أنا متأكد من أني قد رأيت '+' الأخوة محدد المستخدمة في IE8 قبل, أين أنا ذاهب خاطئ ؟

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

المحلول

كنت بحاجة للتأكد من أي قيد التشغيل في وضع المعايير - ضع في doctype مثل هذا:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 

من الوثائق:

المجاورة الأخوة combinator هو "علامة زائد" (+) الحرف الذي يفصل بين اثنين بسيطة محددات.بيضاء ليست كبيرة.

محدد من شكل "E+F" مباريات عنصر و عندما يتبع مباشرة الأخوة العنصر E في الوثيقة شجرة ، وتجاهل غير العقد عنصر (مثل نص العقد و تعليقات).العنصر E و F يجب أن تشترك في نفس الأم و E يجب أن يسبق مباشرة F.أن يطابق الطفل الأول من الأصل ، استخدم :الطفل الأول الدرجة الزائفة.

ملاحظة يتطلب Windows Internet Explorer 7 أو في وقت لاحق.
ملاحظة Combinators يتم تمكين فقط في وضع المعايير المتوافقة (الصارم !DOCTYPE).

نصائح أخرى

وسيكون من الأسهل لإضافة تحوم على عنصر لى وإصلاح تحوم لأي استخدام هذا <وأ href = "http://www.xs4all.nl/~peterned/csshover.html" يختلط = "نوفولو noreferrer "> http://www.xs4all.nl/~peterned/csshover.html

وأي

#MainMenu li.Sel ul li.HasSub:hover {
     display: block;
}

وعلى أمل أن يساعد

وجوش

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