Демо
  • 3,03 КБ
  • HTML, CSS, JS
  • Меню
  • вертикальное
  • Лицензия MIT
HTML
<link href="https://netdna.bootstrapcdn.com/font-awesome/3.1.1/css/font-awesome.min.css" rel="stylesheet" />
<ul class="form">
    <li>
        <a class="profile" href="#"><i class="icon-user"></i>Изменить профиль</a>
    </li>
    <li class="selected">
        <a class="messages" href="#"><i class="icon-envelope-alt"></i>Сообщения <em>5</em></a>
    </li>
    <li>
        <a class="settings" href="#"><i class="icon-cog"></i>Настройки</a>
    </li>
    <li>
        <a class="logout" href="#"><i class="icon-signout"></i>Выход</a>
    </li>
</ul>
CSS
@import url("https://fonts.googleapis.com/css2?family=Raleway:wght@700&display=swap");
ul.form {
    font-family: "Raleway", sans-serif;
    font-weight: 700;
    position: relative;
    background: #fff;
    width: 250px;
    margin: auto;
    padding: 0;
    list-style: none;
    overflow: hidden;

    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;

    -webkit-box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
    box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
}

.form li a {
    width: 225px;
    padding-left: 20px;
    height: 50px;
    line-height: 50px;
    display: block;
    overflow: hidden;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 14px;
    color: #686868;

    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

.form li a:hover {
    background: #efefef;
}

.form li a.profile {
    border-left: 5px solid #008747;
}

.form li a.messages {
    border-left: 5px solid #fecf54;
}

.form li a.settings {
    border-left: 5px solid #cf2130;
}

.form li a.logout {
    border-left: 5px solid #dde2d5;
}

.form li:first-child a:hover,
.form li:first-child a {
    -webkit-border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
}

.form li:last-child a:hover,
.form li:last-child a {
    -webkit-border-radius: 0 0 5px 5px;
    -moz-border-radius: 0 0 5px 5px;
    border-radius: 0 0 5px 5px;
}

.form li a:hover i {
    color: #ea4f35;
}

.form i {
    margin-right: 15px;

    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

.form em {
    font-size: 10px;
    background: #ea4f35;
    padding: 3px 5px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    font-style: normal;
    color: #fff;
    margin-top: 17px;
    margin-right: 15px;
    line-height: 10px;
    height: 10px;
    float: right;
}

.form li.selected a {
    background: #efefef;
}
JS
$("ul.form li a").click(function (e) {
    e.preventDefault();
    e.stopPropagation;
    $(this).closest("ul").find(".selected").removeClass("selected");
    $(this).parent().addClass("selected");
});

Этот фрагмент кода является прекрасным сочетанием HTML, CSS и JavaScript, создан для разработки стильного вертикального меню, которое функционально и привлекает внимание. Начиная с HTML, который является основой нашего меню, он использует неупорядоченный список <ul>, где каждый элемент списка <li> представляет собой отдельный пункт меню. Каждый пункт стилизован как кликабельная ссылка <a>, улучшенная иконками для более интуитивного взаимодействия с пользователем.

Далее идет CSS, который оживляет наше вертикальное меню стилем. CSS нацелен на наше меню с помощью селектора класса .form, применяя чистый, современный вид с ноткой изысканности. Он задает конкретную ширину, цвет фона и радиус границ для плавных, закругленных краев, создавая визуально привлекательный контейнер для элементов нашего меню. Каждой ссылке в меню добавлено достаточно отступов, задана конкретная высота и уникальная цветовая граница слева, визуально отличающая каждое действие. Также добавлены эффекты наведения для тонкого, интерактивного ощущения, изменяющего цвет фона элементов меню при наведении мыши.

Наконец, JavaScript добавляет интерактивную функциональность нашему вертикальному меню. Используя jQuery, популярную библиотеку JavaScript, он слушает события клика по ссылкам меню. Когда ссылка нажимается, скрипт динамически удаляет класс selected с текущего активного элемента меню и добавляет его к нажатому элементу. Это не только выделяет активный раздел для пользователя, но и предотвращает стандартное действие ссылки, гарантируя, что страница не будет переходить при нажатии на элементы меню.

В сущности, этот фрагмент кода элегантно сочетает в себе HTML, CSS и JavaScript для создания вертикального меню, которое не только визуально привлекательно, но и интерактивно, улучшая пользовательский опыт за счет плавных переходов и четких, активных элементов.

  •  Меню №174
    Меню №23
    Меню №23
    • HTML, CSS, JS
    • 9,87 КБ
    • Вертикальное
    Подробнее
  •  Меню №175
    Меню №22
    Меню №22
    • HTML, CSS
    • 6,33 КБ
    • Вертикальное, выпадающее
    Подробнее
  •  Меню №175
    Меню №21
    Меню №21
    • HTML, CSS
    • 1,64 КБ
    • Вертикальное, сайдбар, скользящее
    Подробнее
  •  Меню №174
    Меню №20
    Меню №20
    • HTML, CSS
    • 5,06 КБ
    • Вертикальное, скользящее
    Подробнее
  •  Меню №174
    Меню №19
    Меню №19
    • HTML, CSS
    • 8,21 КБ
    • Вертикальное, гамбургер, скользящее
    Подробнее
  •  Меню №174.5
    Меню №18
    Меню №18
    • HTML, CSS
    • 2,94 КБ
    • Вертикальное
    Подробнее
Меню