الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طريقة عمل قائمة افقية منسدلة ل3 مستويات

بدأه alamal86 في 8 يونيو 2013 · 2 رد · 2,015 مشاهدة · في تصميم الصفحات باستخدام ال "CSS"
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اليوم ساقوم بشرح كيفة عمل قائمة افقية منسدلة باستخدام فقط CSS

 

1- اولا سنقوم بعمل id داخل div ونسميه علي سبيل المثال  navigation

<div id="navigation"></div>

2-الان سنعمل اول مستوي للقائمة :

<div id="navigation">
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
</div>

3-وسنملئها ببعض اسماء الروابط مثال home..links..

<div id="navigation">
    <ul>
        <li>Home</li>
        <li>About</li>
        <li>Contact</li>
        <li>FAQ</li>
        <li>News</li>
    </ul>
</div>

وهذا سيكون شكلها البدائي قبل التعديل بال CSS

210564469.gif

5-كود ال CSS للمستوي الاول للقائمة :

#navigation { font-size:0.75em; width:150px; }
#navigation ul { margin:0px; padding:0px; }
#navigation li { list-style: none; } 
 
ul.top-level { background:#666; }
ul.top-level li {
 border-bottom: #fff solid;
 border-top: #fff solid;
 border-width: 1px;
}
 
#navigation a {
 color: #fff;
 cursor: pointer;
 display:block;
 height:25px;
 line-height: 25px;
 text-indent: 10px;
 text-decoration:none;
 width:100%;
}
 
#navigation a:hover{
 text-decoration:underline;
}
 
#navigation li:hover {
 background: #f90;
 position: relative;
}

 

هذا مثال كيف سيصبح شكل القائمة :

 

649655682.gif

 

6-والان سنقوم بعمل المستوي الثاني للقائمة :

<div id="navigation">
    <ul class="top-level">
        <li><a href="#">Home</a>
            <ul class="sub-level">
                <li><a href="#">Sub Menu Item 1</a></li>
                <li><a href="#">Sub Menu Item 2</a></li>
                <li><a href="#">Sub Menu Item 3</a></li>
                <li><a href="#">Sub Menu Item 3</a></li>
            </ul>
        </li>
        <li><a href="#">About</a></li>
        <li><a href="#">Contact</a></li>
        <li>
            <a href="#">FAQ</a>
            <ul class="sub-level">
                <li><a href="#">Sub Menu Item 1</a></li>
                <li><a href="#">Sub Menu Item 3</a></li>
            </ul>
        </li>
        <li>
            <a href="#">News</a>
            <ul class="sub-level">
                <li><a href="#">Sub Menu Item 1</a></li>
                <li><a href="#">Sub Menu Item 2</a></li>
                <li><a href="#">Sub Menu Item 3</a></li>
            </ul>
        </li>
    </ul>
</div>

7- والخطوة القادمة التعديل عليها بال CSS :

ul.sub-level {
    display: none;
}
 
li:hover .sub-level {
    background: #999;
    border: #fff solid;
    border-width: 1px;
    display: block;
    position: absolute;
    left: 75px;
    top: 5px;
}
 
ul.sub-level li {
    border: none;
    float:left;
    width:150px;
}

وستصبح القائمة بهذا الشكل :

276629276.gif

 

8-وهذا الشكل النهائي لكود html للقائمة بثلاث مستويات :

<div id="navigation">
    <ul class="top-level">
        <li><a href="#">Home</a>
            <ul class="sub-level">
                <li><a href="#">Sub Menu Item 1</a>
                </li>
                <li><a href="#">Sub Menu Item 2</a>
                    <ul class="sub-level">
                        <li><a href="#">Sub Sub Menu Item 1</a></li>
                        <li><a href="#">Sub Sub Menu Item 2</a></li>
                        <li><a href="#">Sub Sub Menu Item 3</a></li>
                        <li><a href="#">Sub Sub Menu Item 4</a></li>
                    </ul>
                </li>
                <li><a href="#">Sub Menu Item 3</a></li>
                <li><a href="#">Sub Menu Item 3</a></li>
            </ul>
        </li>
        <li><a href="#">About</a></li>
        <li><a href="#">Contact</a></li>
        <li>
            <a href="#">FAQ</a>
            <ul class="sub-level">
                <li><a href="#">Sub Menu Item 1</a></li>
                <li><a href="#">Sub Menu Item 3</a>
                    <ul class="sub-level">
                        <li><a href="#">Sub Sub Menu Item 1</a></li>
                        <li><a href="#">Sub Sub Menu Item 2</a></li>
                        <li><a href="#">Sub Sub Menu Item 3</a></li>
                        <li><a href="#">Sub Sub Menu Item 4</a></li>
                    </ul>
                </li>
            </ul>
        </li>
        <li>
            <a href="#">News</a>
            <ul class="sub-level">
                <li><a href="#">Sub Menu Item 1</a>
                    <ul class="sub-level">
                        <li><a href="#">Sub Sub Menu Item 1</a></li>
                        <li><a href="#">Sub Sub Menu Item 2</a></li>
                        <li><a href="#">Sub Sub Menu Item 3</a></li>
                        <li><a href="#">Sub Sub Menu Item 4</a></li>
                    </ul>
                </li>
                <li><a href="#">Sub Menu Item 2</a></li>
                <li><a href="#">Sub Menu Item 3</a></li>
            </ul>
        </li>
    </ul>
</div>

9-واخيرا نضع اخر اضافات لل CSS للتعديل علي المستوي الثاني والثالث :

 
/*Seconda Level*/
#navigation .sub-level {
    background: #999;
}
 
/*Third Level*/
#navigation .sub-level .sub-level {
    background: #09C;
}
 
 
/*RESET STYLES*/
li:hover .sub-level .sub-level {
    display:none;
}
 
.sub-level li:hover .sub-level {
    display:block;
}

547397516.gif

وبهذا نكون قد انتهينا من عمل القائمة بهذا الشكل .. وتستطيع التعديل عليها كما احببت بالالوان والشكل ..

شكرا ^-^

2
#2

شكراا لك أخي شرح سهل جدا، أتمنى أن تشرح لنا كيفية انشاء Layout بواسطة CSS.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…