CSS меню для начинающих / Хабр
Данное руководство поможет Вам создать CSS меню для вашего сайта, оно не будет обычным, оно будет привлекать внимание пользователей, не сомневайтесь. И так приступим…
Фон для меню
Для начала создадим background, я конечно не мастер PhotoShop’a, но вот что у меня получилось за пару минут:
Графические кнопочки
Создаем изображения которые у нас будут использовать как ссылки в меню. Для этого воспользуемся PhotoShop’ом:
- Создаем новый файл размером этак 144x58px. (размер ссылки для первого элемента в меню)
- Наполняем графическим содержимым сей пункт меню (у меня это лишь надпись выполненная забавным шрифтом):
- Далее увеличим размер полотна в два раза
- И дорисуем внешний вид элемента меню для реализации события hover
Как сия конструкция будет работать? Да очень просто — ссылке мы явно указываем размер 144x58px, а но событие mouseover перемещаем фоновое изображение вверх: - Создадим новый файл с произвольным размером и текстом — это будет наша подсказка к ссылке
- Повторим все предыдущие пункты для создания всех пунктов меню, в результате анаших манипуляций у нас должен получиться вот такой набор изображений:
HTML код
Закончили строить из себя дизайнеров, пора начинать кодить — создадим не нумерованный список — <ul>:
- элементу <ul> присвоеим id=«menu»
- каждой ссылке <a> присвоим уникальное имя класса
- Внутрь тэга <a> закинем пустой тэг <span> (понадобиться для реализации подсказок к ссылкам)
<ul id=«menu»>
<li><a href=»#» class=«home»>Home <span></span></a></li>
<li><a href=»#» class=«about»>About <span></span></a></li>
<li><a href=»#» class=«rss»>RSS <span></span></a></li>
</ul>
CSS код
#menu
Для начала убираем padding и margin у меню, list-style выставляем в none, position указываем как relative.
#menu {
list-style: none;
padding: 0;
margin: 0;
width: 774px;
height: 210px;
background: url(images/menu-bg.jpg) no-repeat;
position: relative;
}
#menu span
Для элементов span параметр display выставляем в none (по умолчанию не будут отображаться). Так же выставляем position как absolute.
#menu span {
display: none;
position: absolute;}
#menu a
Для ссылок нам необходимо спрятать текст, для этого параметру text-indent присваиваем негативное значение (-900%), и текст будет скрыт.
#menu a {
display: block;
text-indent: -900%;
position: absolute;
outline: none;
}
#menu a:hover
Теперь мы хотим сдвинуть картинку на линке по событию mouseover, для этого добавим в CSS следующий код:
#menu a:hover {
background-position: left bottom;}
#menu a:hover span
Так же по событию mouseover необходимо отобразить подсказку
#menu a:hover span {
display: block;
}
#menu .
home
Теперь нам необходимо правильно расставить элементы меню. Для начала укажем размер элемента и фоновое изображение, а затем займемся позиционированием, будем изменять параметры left и top пока не почувствуем морального удовлетворения от внешнего вида меню:
#menu .home {
width: 144px;
height: 58px;
background: url(images/home.gif) no-repeat;
left: 96px;
top: 96px;
}
#menu .home span
Теперь проведем подобную операцию для всплывающей подсказки
#menu .home span {
width: 86px;
height: 14px;
background: url(images/home-over.gif) no-repeat;
left: 28px;
top: -20px;
}
#menu .about
Копируем всё что мы сделали для элемента .home и переименовываем в .
#menu .about {
width: 131px;
height: 51px;
background: url(images/about.gif) no-repeat;
left: 338px;
top: 97px;
}
#menu .about span {
width: 40px;
height: 12px;
background: url(images/about-over.gif) no-repeat;
left: 44px;
top: 54px;
}
#menu .rss
Повторим для .rss
#menu .rss {
width: 112px;height: 47px;
background: url(images/rss.gif) no-repeat;
left: 588px;
top: 94px;
}
#menu .rss span {
width: 92px;
height: 20px;
background: url(images/rss-over.gif) no-repeat;
left: 26px;
top: -20px;
}
Всё в одном
#menu {
list-style: none;
padding: 0;
margin: 0;
width: 774px;
height: 210px;
background: url(images/menu-bg.jpg) no-repeat;
position: relative;
}
#menu span {
display: none;
position: absolute;
}
#menu a {
display: block;
text-indent: -900%;
position: absolute;
outline: none;
}
#menu a:hover {
background-position: left bottom;
}
#menu a:hover span {
display: block;
}
#menu .home {
width: 144px;
height: 58px;
background: url(images/home.gif) no-repeat;
left: 96px;
top: 73px;
}
#menu .home span {width: 86px;
height: 14px;
background: url(images/home-over.gif) no-repeat;
left: 28px;
top: -20px;
}
#menu .about {
width: 131px;
height: 51px;
background: url(images/about.gif) no-repeat;
left: 338px;
top: 97px;
}
#menu .about span {
width: 40px;
height: 12px;
background: url(images/about-over.gif) no-repeat;
left: 44px;
top: 54px;
}
#menu .rss {
width: 112px;
height: 47px;background: url(images/rss.gif) no-repeat;
left: 588px;
top: 94px;
}
#menu .rss span {
width: 92px;
height: 20px;
background: url(images/rss-over.gif) no-repeat;
left: 26px;
top: -20px;
}
Это всё, протестировать меню можете тут, а скачать пример тут.
Вольный перевод: http://www.webdesignerwall.com/tutorials/advanced-css-menu/
Кросспост: CSS меню в стиле Web 2.0
Выпадающие меню — CSS Framework
Выпадающие меню позволяют пользователям выбрать один из нескольких пунктов меню. Разметка такого меню предназначена для работы совместно с Яваскрипт модулем ips.ui.menu.
Использование
Меню состоит из инициирующего элемента, и самого элемента меню:
<!-- Инициализатор --> <a href='#elMyMenu_menu'>Открыть меню</a> <!-- Меню --> <ul> ... </ul>
ID меню должен быть таким же, как ID элемента инициализатора, с суффиксом _menu. Если элемент инициализатора является ссылкой, её href должен быть якорем на ID элемента меню. Это делает меню доступным, даже если Javascript отключён в вашем браузере.
Основное меню
Основное меню может иметь следующую разметку:
<ul> <li><a href='#'>Пункт 1</a></li> <li><a href='#'>Пункт 2</a></li> <li><a href='#'>Пункт 3</a></li> <li><hr></li> <li><a href='#'>Пункт 4</a></li> <li><a href='#'>Пункт 5</a></li> </ul>
Это будет отображаться следующим образом: .
ipsMenu это основной класс для элемента меню. Пункты в меню должны иметь класс ipsMenu_item, с элементом ссылки в нём. Разделитель пункта может быть добавлен путём указания пункта с классом ipsMenu_sep, содержащий элемент <hr>.
Обратите внимание, что позиционирование и стрелка добавляются автоматически, с помощью Яваскрипт модуля меню; они не должны быть указаны вручную. Стрелка может быть удалена, если это необходимо, путём добавления класса ipsMenu_noStem к элементу меню.
Отключение пунктов меню
Отдельные пункты меню могут быть отключены путём добавления класса ipsMenu_itemDisabled к элементу списка: .
Обратите внимание: отключение пункта меню не полностью работоспособно; в браузерах, не поддерживающих CSS стили поведения курсора, клик по отключённом пункту в меню будет по-прежнему действителен. Убедитесь, что ваш Яваскрипт правильно взаимодействует с кликами по отключённым пунктам меню.
Размер меню
По умолчанию, меню будет иметь стандартную ширину. Дополнительный класс может быть указан в элементе меню для определения ширины меню.
- ipsMenu_auto — меню будет отображено с такой шириной, какая необходима, при этом выдерживая минимальную ширину в 200px и максимальную ширину в 500px;
- ipsMenu_narrow — 200 пикселей в ширину;
- ipsMenu_normal — 300 пикселей в ширину;
- ipsMenu_wide — 450 пикселей в ширину;
Селективные меню
Селективное меню позволяет пользователю переключаться между пунктами меню, полезно для включения/отключения настроек.
Для функционирования этой возможности, должен быть использован Яваскрипт модуль.
Меню может быть селективным путём добавления класса ipsMenu_selectable. Пункт меню может быть отображён как выбранный, с помощью добавления класса ipsMenu_itemChecked к элементу списка.
Разметка для селективного меню может выглядеть следующим образом:
<ul> <li><a href='#'>Пункт 1</a></li> <li><a href='#'>Пункт 2</a></li> <li><a href='#'>Пункт 3</a></li> </ul>
Это будет отображаться следующим образом: .
Подменю
Подменю создаются путём встраивания меню друг в друга. Для этого пропишите класс ipsMenu_subItems к пункту, который должен содержать подменю, и само подменю внутри элемента. Например:
<ul> <li> <a href='#'>Пункт 1</a> </li> <li> <a href='#'>Пункт 2 (с подменю)</a> <ul> <li><a href='#'>Подпункт 1</a></li> <li><a href='#'>Подпункт 2</a></li> <li><a href='#'>Подпунктm 3</a></li> </ul> </li> </ul>
Это будет отображаться следующим образом: .
Report Документ
Bulma: бесплатная современная CSS-инфраструктура с открытым исходным кодом на основе Flexbox
.Меню
Простое меню , для любого типа вертикальной навигации
Меню Bulma представляет собой компонент вертикальной навигации, который включает в себя:
- меню
контейнер - информативные
метки менюметки - интерактивный список меню
списков, которые могут быть вложены до 2 уровней
Пример
HTML
<в сторону>
<р>
Общий
<ул>
Переменные #
Имя
Тип
Значение
Расчетное значение
Расчетный тип
$menu-item-color
переменная
hsl(0 , 0%, 29%)
цвет
$меню-пункт- радиус
переменная
$radius-small
size
$menu-item-hover-color
переменная
$text-strong
hsl(0, 0%, 21 %)
цвет
$ пункт меню при наведении на цвет фона
переменная
$background
hsl(0, 0%, 96%)
цвет
$menu-item-active-color
переменная
$link-invert 9003 1цвет
$элемент меню -active-background-colorпеременная
hsl(229, 53%, 53%)color
$menu-list-border-leftразмер
1px сплошная $border$меню-список- line-heightбезразмерный
$menu-list-link-paddingразмер
0.5em 0.75em
$menu-nested-list-marginразмер
0.75em$menu-nested-list-padding-left9 0002 размер0.75em$меню- label-colorпеременная
$text-lighthsl(0, 0%, 48%)color
$menu-label-font-sizesize
0.7 5em$ метка меню -letter-spacingразмер
$menu-label-spacingразмер
Эта страница с открытым исходным кодом . Заметили опечатку? Или что-то непонятно?
Улучшить эту страницу на GitHub#native_cta#
Настройка меню WalkMe с помощью CSS
Последнее обновление 11 сентября 2022 г.
Краткий обзор
Вы можете настроить каждый аспект меню WalkMe с помощью редактора CSS, выполнив действия, перечисленные ниже.
Чтобы настроить меню с использованием параметров по умолчанию, см. Меню проигрывателя WalkMe: руководство по началу работы.
Прежде чем приступить к работе, обязательно ознакомьтесь с этой статьей, посвященной CSS в меню.
Доступ к панели настройки CSS
- Нажмите «Настроить» в редакторе WalkMe.
- Перейдите на вкладку CSS.
- Введите пользовательский CSS в редакторе CSS. Вы можете найти часто используемые пользовательские CSS ниже.
- Замените выделенные разделы в приведенном ниже CSS своими настройками.
CSS для каждого типа меню
Весь приведенный ниже CSS предназначен для меню в стиле пингвина (#walkme-menu.walkme-penguin .walkme-title).
| /* Меню */ /* Боковая граница или левая полоса */ div.walkme-menu.walkme-penguin.walkme-override.walkme-direction-ltr div. walkme-main, div.walkme -menu.walkme-penguin .walkme-override.walkme-direction-ltr div.walkme-main { цвет границы слева: красный !важно; } |
| /* Боковая граница или правая сторона*/ (Если меню на иврите/арабском языке/и т. д.) div.walkme-menu.walkme-penguin.walkme-override.walkme-direction-rtl div.walkme- main, div.walkme-menu.walkme-penguin .walkme-override.walkme-direction-rtl div.walkme-main { border-right-color: red !important; } |
Настройка цвета кнопки поиска
Статический цвет кнопки поиска
| /* Окно поиска */ div.walkme-menu.walkme-penguin.walkme-override div.walkme-search-box-button, div.walkme-menu.walkme-penguin .walkme-override div.walkme-search -box-button { фон: красный !важно; } |
Цвет при наведении кнопки поиска
| /* Поле поиска при наведении — выберите другой цвет, немного ярче или темнее */ div. walkme-menu.walkme-penguin.walkme-override div.walkme-search- коробка-кнопка: наведение, div.walkme-menu.walkme-penguin .walkme-override div.walkme-search-box-button:hover { background-color: красный !важно; } |
Цвет нажатой кнопки поиска
| /* Нажатое окно поиска */ -menu.walkme-penguin .walkme-override div.walkme-search-box-button:active { background-color: red !важно; } |
Настройка цвета индикатора выполнения
| /* Индикатор выполнения — обычно более светлого цвета */ div.walkme-menu.walkme-penguin .walkme-override div.walkme-progress-bar-inner { background-color: LightCyan !важно; } |
Настройка цвета значков
| /* Развертываемые значки */ div.walkme-menu.walkme-penguin. walkme-override .walkme-deployable.walkme-override div.walkme-deployable-icon.walkme-override, div.walkme-menu.walkme-penguin.walkme-override .walkme -activatable.walkme-override div.walkme-deployable-icon.walkme-override, div.walkme-menu.walkme-penguin .walkme-override .walkme-deployable.walkme-override div.walkme-deployable-icon.walkme- переопределить, div.walkme-menu.walkme-penguin .walkme-override .walkme-activatable.walkme-override div.walkme-deployable-icon.walkme-override { цвет: красный !важно; } |
Настроить развертываемое имя при наведении
| /* Развертываемое имя при наведении */ наведите курсор > .walkme-deployable- строка > .walkme-text > div.walkme-deployable-name, div.walkme-menu.walkme-penguin .walkme-override .walkme-activatable:hover > .walkme-deployable-row > .walkme-text > div. имя развертывания Walkme { цвет: красный !важно; } |
Настройка развертываемого ряда при наведении курсора
| /* Развертываемый ряд при наведении — выберите другой цвет, желательно похожий на основной цвет, но светлее */ div. walkme-menu.walkme-pengu in.walkme -override div.walkme-activatable: hover, div.walkme-menu.walkme-penguin .walkme-override div.walkme-activatable: hover { background-color: red !важно; } |
Настроить выбранную вкладку
| /* Выбранная вкладка */ .walkme-tab-кнопка -selected span.walkme-tab-button-text, div.walkme-menu.walkme-penguin .walkme-override .walkme-tabs .walkme-tab-button.walkme-tab-button-selected span.walkme-tab- button-text { color: red !важно; } |
Настройка цвета категории
| /* Категория */ div.walkme-menu.walkme-penguin.walkme-override div.walkme-deployable.walkme-category > .walkme-deployable-row > .walkme- text > .walkme-name, div.walkme-menu.walkme-penguin.walkme-override div.walkme-activatable.walkme-category > .walkme-deployable-row > . walkme-text > .walkme-name, div .walkme-menu.walkme-penguin .walkme-override div.walkme-deployable.walkme-category > .walkme-deployable-row > .walkme-text > .walkme-name, div.walkme-menu.walkme-penguin .walkme-override div.walkme-activatable.walkme-category > .walkme-deployable-row > .walkme-text > .walkme-name { color: red !важно; } |
Название категории при наведении
| /* Название категории при наведении — можно выбрать другой цвет или оставить прежним */ div.walkme-menu.walkme-penguin.walkme-override div.walkme -deployable.walkme-category > .walkme-deployable-row: hover > .walkme-text > .walkme-name, div.walkme-menu.walkme-penguin.walkme-override div.walkme-activatable.walkme-category > .walkme-deployable-row: hover > .walkme-text > .walkme-name, div.walkme-menu. walkme-penguin .walkme-override div.walkme-deployable.walkme-category > .walkme-deployable-row: hover > . walkme-text > .walkme-name, div.walkme-menu.walkme-penguin .walkme-override div.walkme-activatable.walkme-category > .walkme-deployable-row: hover > .walkme-text > .walkme-name { color: красный !важно; } |
Строка категорий при наведении
| /* Строка категорий при наведении — выберите другой цвет, желательно похожий на основной цвет, но светлее */ div.walkme-menu.walkme-penguin.walkme-override div .walkme-category > .walkme-deployable-row:hover, div.walkme-menu.walkme-penguin.walkme-override div.walkme-category.walkme-opened > .walkme-deployable-row:hover, div. walkme-menu.walkme-penguin .walkme-override div.walkme-category > .walkme-deployable-row:hover, div.walkme-menu.walkme-penguin .walkme-override div.walkme-category.walkme-opened > .walkme-deployable-row:hover { background-color: красный !важно; } |
Стрелка категории
| /* Значок стрелки */ div. walkme-menu.walkme-penguin.walkme-override div.walkme-deployable.walkme-category > . Walkme-развертываемый-строка: hover > .walkme-deployable-icon, div.walkme-menu.walkme-penguin.walkme-override div.walkme-activatable.walkme-category > .walkme-deployable-row:hover > .walkme-deployable-icon, div.walkme-menu.walkme-penguin .walkme-override div.walkme-deployable.walkme-category > .walkme-deployable-row:hover > .walkme-deployable-icon, div.walkme-menu.walkme-penguin .walkme-override div.walkme-activatable.walkme-category > .walkme-deployable-row: hover > .walkme-deployable-icon { цвет: красный !важно; } |
Имена элементов категорий
| /* Имена элементов категорий */ div.walkme-menu.walkme-penguin.walkme-override div.walkme-deployable.walkme-category. Walkme-открытый .walkme -activatable: hover > .walkme-deployable-row > .walkme-text > .walkme-deployable-name, div. walkme-menu.walkme-penguin.walkme-override div.walkme-activatable.walkme-category.walkme-opened .walkme-activatable:hover > .walkme-deployable-row > .walkme-text > .walkme-deployable -name, div.walkme-menu.walkme-penguin .walkme-override div.walkme-deployable.walkme-category.walkme-opened .walkme-activatable:hover > .walkme-deployable-row > .walkme-text > . walkme-deployable-name, div.walkme-menu.walkme-penguin .walkme-override div.walkme-activatable.walkme-category.walkme-opened .walkme-activatable:hover > .walkme-deployable-row > .walkme- текст > .walkme-deployable-name { цвет: красный !важно; } |
Другие ховеры
| /* Другие ховеры — это может работать лучше с еще более светлой версией цвета ховеров */ div.walkme-menu.walkme-penguin.walkme-override div. гуляй -tabs .walkme-tab-button: наведение, div.walkme-menu.walkme-пингвин .walkme-override div.walkme-tabs . walkme-tab-button: наведение, div.walkme-menu.walkme-пингвин. walkme-override div.walkme-category > .walkme-deployable-row:hover .walkme-deployable-icon, div.walkme-menu.walkme-penguin.walkme-override div.walkme-category.walkme-opened > .walkme-deployable-row:hover .walkme-deployable-icon, div.walkme-menu.walkme-penguin . walkme-override div.walkme-category > .walkme-deployable-row:hover .walkme-deployable-icon, div.walkme-menu.walkme-penguin .walkme-override div.walkme-category.walkme-opened > .walkme -deployable-row: hover .walkme-deployable-icon { цвет фона: красный !важно; } |
| /* Цвет ссылки открытия билета */ div.walkme-menu.walkme-penguin.walkme-override .walkme-open-ticket, div.walkme-menu.walkme -пингвин .walkme-override .walkme-open-ticket { цвет: красный !важно; } |
Открыть ссылку на билет при наведении
| /* Открыть ссылку на билет при наведении Цвет */ div. walkme-menu.walkme-penguin.walkme-override .walkme-open-ticket:hover , div.walkme-menu.walkme-penguin .walkme-override .walkme-open-ticket:hover { color: red !важно; } |
Настройка цвета вопросительного знака на вкладке "Справка"
| /* Цвет вопросительного знака */ contains-walkthru.walkme-contains-shuttle.walkme-contains-content.walkme-visible.walkme-search.walkme-search-providers.walkme-override.walkme-css-reset{ цвет: красный !важно; } |
Настройка цвета галочки на вкладке «Задачи»
| /* Цвет галочки */ т. walkme-contains-task.walkme-visible.walkme-progress-bar.walkme-override.walkme-css-reset { цвет: красный !важно;} |
| /*Изменение цвета заголовка меню (например, Чем мы можем вам помочь?) */ #walkme-title { color: xxxxxxx !важно; } |
Пользовательский CSS зависит от того, какой тип виджета WalkMe вы используете и настраиваете.
Найдите виджет WalkMe, который вы используете, ниже.
Миссисипи
| /* Миссисипи */ div.walkme-player.walkme-mississippi.walkme-override div.walkme-bar { background-color: red !важно; } |
Колорадо
| /* Колорадо */ div.walkme-player.walkme-colorado.walkme-override div.walkme-знак вопроса, div.walkme- player.walkme-колорадо. walkme-override * div.walkme-вопросительный знак { фон: красный !важно; } |
Заполнить весь Колорадо
| /*полный цвет Колорадо*/ #walkme-player .walkme-in-wrapper.walkme-override.walkme-css-reset border-color: #5765D1 !важно; } .walkme-player.walkme-colorado.walkme-theme-black-blue .walkme-question-mark.walkme-override.walkme-css-reset { background-color: #5765D1 !important } . walkme-player.walkme-colorado.walkme-theme-black-blue .walkme-in-wrapper, .walkme-player.walkme-colorado.walkme-theme-black-blue * .walkme-in-wrapper { background-color: #5765D1 !важно; } .walkme-player.walkme-colorado.walkme-theme-black-blue, .walkme-player.walkme-colorado.walkme-theme-black-blue * { background-color: #5765D1 !важно; } .walkme-player.walkme-colorado .walkme-title.walkme-override.walkme-css-reset, .walkme-player.walkme-colorado .walkme-title.walkme-override.walkme-css-reset * { background-color: #5765D1 !важно; } |
Примечание
Этот CSS не работает, если виджет настроен на черно-синюю цветовую схему.
Дунай
| /* Дунай */ div.walkme-player.walkme-danube.walkme-override div.walkme-bar, div.walkme-player.walkme-danube. ![]() |


about span {
..
</ul>
5em 0.75em 
walkme-main,
walkme-menu.walkme-penguin.walkme-override div.walkme-search- коробка-кнопка: наведение,
walkme-override .walkme-deployable.walkme-override div.walkme-deployable-icon.walkme-override,
walkme-menu.walkme-pengu in.walkme -override div.walkme-activatable: hover,
walkme-text > .walkme-name,
walkme-text > .walkme-name,
walkme-menu.walkme-penguin.walkme-override div.walkme-deployable.walkme-category > . Walkme-развертываемый-строка: hover > .walkme-deployable-icon,
walkme-menu.walkme-penguin.walkme-override div.walkme-activatable.walkme-category.walkme-opened .walkme-activatable:hover > .walkme-deployable-row > .walkme-text > .walkme-deployable -name,
walkme-tab-button: наведение,
walkme-menu.walkme-penguin.walkme-override .walkme-open-ticket:hover ,
walkme-player.walkme-colorado.walkme-theme-black-blue .walkme-in-wrapper, 