Новые уроки
Получай новые уроки по RSS

Подписка на рассылку


Голосование
Чего выкладывать больше?
Программ
Уроков
Скриптов
Шаблонов
Макетов
CMS
Видеоуроков
Облако тегов

CSS → Минимальное CSS3 меню

Минимальное CSS3 меню


Демо: смотреть
Скачать: demo.zip [78,36 Kb] (cкачиваний: 180)


Как вы, наверное, слышали, CSS3 анимации мощный инструмент, который позволяет создавать анимации, которые идут без необходимости применения дополнительных сценариев для страницы. Что еще лучше, в следующем поколении браузеров у нас будут еще более мощные инструменты, в том числе 3D-преобразования (уже есть в Safari).

На данный момент только три браузеры дают вам возможность оживить CSS свойства - Chrome, Safari и Opera, которые в совокупности занимают лишь небольшую часть рынка браузеров. Firefox, как ожидается, в ближайшее время вступить в клуб, и с предстоящим выпуском IE9, он вдруг начнет понимать эту технику.

Так что сегодня мы делаем что-то практичное - простое CSS3 анимированное меню навигации, которая унижает старые браузеры и настроена для работы со следующим поколением браузеров.

XHTML
Как всегда любимая наша разметка. Она довольна проста. Для нужной ссылки просто добавляем класс, и ссылки формируем списком.

demo.html
<ul id="navigationMenu">
    <li>
        <a class="home" href="#">
            <span>Home</span>
        </a>
    </li>

    <li>
        <a class="about" href="#">
            <span>About</span>
        </a>
    </li>

    <li>
         <a class="services" href="#">
            <span>Services</span>
         </a>
    </li>

    <li>
        <a class="portfolio" href="#">
            <span>Portfolio</span>
        </a>
    </li>

    <li>
        <a class="contact" href="#">
            <span>Contact us</span>
        </a>
    </li>
</ul>


CSS
Посколько разметка законечна самое время и начать добавлять css стили. Сначала добавим фон и уберем точки для списка ( ul , li ). Отображаться наше меню будет нормально в Chrome, Safari and Opera
*{
    /* A universal CSS reset */
    margin:0;
    padding:0;
}

body{
    font-size:14px;
    color:#666;
    background:#111 no-repeat;

    /* CSS3 Radial Gradients */
    background-image:-moz-radial-gradient(center -100px 45deg, circle farthest-corner, #444 150px, #111 300px);
    background-image:-webkit-gradient(radial, 50% 0, 150, 50% 0, 300, from(#444), to(#111));

    font-family:Arial, Helvetica, sans-serif;
}

#navigationMenu li{
    list-style:none;
    height:39px;
    padding:2px;
    width:40px;
}


Далее задаем общие стили для всего меню.
#navigationMenu span{
    /* Container properties */
    width:0;
    left:38px;
    padding:0;
    position:absolute;
    overflow:hidden;

    /* Text properties */
    font-family:'Myriad Pro',Arial, Helvetica, sans-serif;
    font-size:18px;
    font-weight:bold;
    letter-spacing:0.6px;
    white-space:nowrap;
    line-height:39px;

    /* CSS3 Transition: */
    -webkit-transition: 0.25s;

    /* Future proofing (these do not work yet): */
    -moz-transition: 0.25s;
    transition: 0.25s;
}

#navigationMenu a{
    /* The background sprite: */
    background:url('img/navigation.jpg') no-repeat;

    height:39px;
    width:38px;
    display:block;
    position:relative;
}

/* General hover styles */

#navigationMenu a:hover span{ width:auto; padding:0 20px;overflow:visible; }
#navigationMenu a:hover{
    text-decoration:none;

    /* CSS outer glow with the box-shadow property */
    -moz-box-shadow:0 0 5px #9ddff5;
    -webkit-box-shadow:0 0 5px #9ddff5;
    box-shadow:0 0 5px #9ddff5;
}


И теперь задаем цвет и иконку для каждого раздела меню. Фон вы можете взять в исходных файлах.
/* Green Button */

#navigationMenu .home {    background-position:0 0;}
#navigationMenu .home:hover {    background-position:0 -39px;}
#navigationMenu .home span{
    background-color:#7da315;
    color:#3d4f0c;
    text-shadow:1px 1px 0 #99bf31;
}

/* Blue Button */

#navigationMenu .about { background-position:-38px 0;}
#navigationMenu .about:hover { background-position:-38px -39px;}
#navigationMenu .about span{
    background-color:#1e8bb4;
    color:#223a44;
    text-shadow:1px 1px 0 #44a8d0;
}

/* Orange Button */

#navigationMenu .services { background-position:-76px 0;}
#navigationMenu .services:hover { background-position:-76px -39px;}
#navigationMenu .services span{
    background-color:#c86c1f;
    color:#5a3517;
    text-shadow:1px 1px 0 #d28344;
}

/* Yellow Button */

#navigationMenu .portfolio { background-position:-114px 0;}
#navigationMenu .portfolio:hover{ background-position:-114px -39px;}
#navigationMenu .portfolio span{
    background-color:#d0a525;
    color:#604e18;
    text-shadow:1px 1px 0 #d8b54b;
}

/* Purple Button */

#navigationMenu .contact { background-position:-152px 0;}
#navigationMenu .contact:hover { background-position:-152px -39px;}
#navigationMenu .contact span{
    background-color:#af1e83;
    color:#460f35;
    text-shadow:1px 1px 0 #d244a6;
}


Демо: смотреть
Скачать: demo.zip [78,36 Kb] (cкачиваний: 180)


Наше минималистичное CSS3 меню навигации завершено!
Опубликовал dimas_ua, 7-04-2011, 00:00 Комментариев: 0
 (голосов: 0)