Раздвигающееся вертикальное меню на CSS3

В данном уроке представлено вертикальное раздвигающееся меню на CSS3. Подпункты появляются при нажатии основного пункта.

 

Разметка HTML

Меню построено на неупорядоченном списке и имеет один уровень (очень часто, такого уровня вложенности хватает для решения задач интерфейса приложения).

            <ul id="nav">
                <li><a href="#"><img src="/images/t1.png" /> Главная</a></li>
                <li><a href="#" class="sub" tabindex="1"><img src="/images/t2.png" />HTML/CSS</a><img src="/images/up.gif" alt="" />
                    <ul>
                        <li><a href="#"><img src="/images/empty.gif" />Ссылка 1</a></li>
                        <li><a href="#"><img src="/images/empty.gif" />Ссылка 2</a></li>
                        <li><a href="#"><img src="/images/empty.gif" />Ссылка 3</a></li>
                        <li><a href="#"><img src="/images/empty.gif" />Ссылка 4</a></li>
                        <li><a href="#"><img src="/images/empty.gif" />Ссылка 5</a></li>
                    </ul>
                </li>
                <li><a href="#" class="sub" tabindex="1"><img src="/images/t3.png" />jQuery/JS</a><img src="/images/up.gif" alt="" />
                    <ul>
                        <li><a href="#"><img src="/images/empty.gif" />Ссылка 6</a></li>
                        <li><a href="#"><img src="/images/empty.gif" />Ссылка 7</a></li>
                        <li><a href="#"><img src="/images/empty.gif" />Ссылка 8</a></li>
                        <li><a href="#"><img src="/images/empty.gif" />Ссылка 9</a></li>
                        <li><a href="#"><img src="/images/empty.gif" />Ссылка 10</a></li>
                    </ul>
                </li>
                <li><a href="#"><img src="/images/t2.png" />PHP</a></li>
                <li><a href="#"><img src="/images/t2.png" />MySQL</a></li>
                <li><a href="#"><img src="/images/t2.png" />XSLT</a></li>
            </ul>

 

CSS

#nav {
    border:3px solid #3e4547;

    box-shadow:2px 2px 8px #000000;
    border-radius:3px;
    -moz-border-radius:3px;
    -webkit-border-radius:3px;
}
#nav, #nav ul {
    list-style:none;
    padding:0;
    width:200px;
}
#nav ul {
    position:relative;
    z-index:-1;
}
#nav li {
    position:relative;
    z-index:100;
}
#nav ul li {
    margin-top:-23px;

    -moz-transition:  0.4s linear 0.4s;
    -ms-transition: 0.4s linear 0.4s;
    -o-transition: 0.4s linear 0.4s;
    -webkit-transition: 0.4s linear 0.4s;
    transition: 0.4s linear 0.4s;
}
#nav li a {
    background-color:#d4d5d8;
    color:#000;
    display:block;
    font-size:12px;
    font-weight:bold;
    line-height:28px;
    outline:0;
    padding-left:15px;
    text-decoration:none;
}
#nav li a.sub {
    background:#d4d5d8 url("../images/down.gif") no-repeat;
}
#nav li a + img {
    cursor:pointer;
    display:none;
    height:28px;
    left:0;
    position:absolute;
    top:0;
    width:200px;
}
#nav li a img {
    border-width:0px;
    height:24px;
    line-height:28px;
    margin-right:8px;
    vertical-align:middle;
    width:24px;
}
#nav li a:hover {
    background-color:#bcbdc1;
}
#nav ul li a {
    background-color:#eee;
    border-bottom:1px solid #ccc;
    color:#000;
    font-size:11px;
    line-height:22px;
}
#nav ul li a:hover {
    background-color:#ddd;
    color:#444;
}
#nav ul li a img {
    background: url("../images/bulb.png") no-repeat;
    border-width:0px;
    height:16px;
    line-height:22px;
    margin-right:5px;
    vertical-align:middle;
    width:16px;
}
#nav ul li:nth-child(odd) a img {
    background:url("../images/bulb2.png") no-repeat;
}
#nav a.sub:focus {
    background:#bcbdc1;
    outline:0;
}
#nav a:focus ~ ul li {
    margin-top:0;

    -moz-transition:  0.4s linear;
    -ms-transition: 0.4s linear;
    -o-transition: 0.4s linears;
    -webkit-transition: 0.4s linears;
    transition: 0.4s linear;
}
#nav a:focus + img, #nav a:active + img {
    display:block;
}
#nav a.sub:active {
    background:#bcbdc1;
    outline:0;
}
#nav a:active ~ ul li {
    margin-top:0;
}
#nav ul:hover {
    display:block;
}

Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/G15qC0cyvGo/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Раздвигающееся вертикальное меню на CSS3 | | 2012-06-19 11:57:36 | | Статьи Web-мастеру | | В данном уроке представлено вертикальное раздвигающееся меню на CSS3. Подпункты появляются при нажатии основного пункта. Разметка HTMLМеню построено на неупорядоченном списке и имеет один уровень | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: