Содержание

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-bg.jpg). Добавляем фоновое изображение.
 

 #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 и переименовываем в .

about. Подгоняем размер и расположение, так же заменяем фон.
 

#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-left 
    9 0002 размер

     0.75em 
     $меню- label-color 

    переменная

     $text-light 
     hsl(0, 0%, 48%) 

    color

     $menu-label-font-size 

    size

     0.7 5em 
     $ метка меню -letter-spacing 

    размер

     $menu-label-spacing 

    размер

    Эта страница с открытым исходным кодом . Заметили опечатку? Или что-то непонятно?
    Улучшить эту страницу на GitHub

    #native_cta#

    Настройка меню WalkMe с помощью CSS

    Последнее обновление 11 сентября 2022 г.

    Краткий обзор

    Вы можете настроить каждый аспект меню WalkMe с помощью редактора CSS, выполнив действия, перечисленные ниже.

    Чтобы настроить меню с использованием параметров по умолчанию, см. Меню проигрывателя WalkMe: руководство по началу работы.

    Прежде чем приступить к работе, обязательно ознакомьтесь с этой статьей, посвященной CSS в меню.

    Доступ к панели настройки CSS
    1. Нажмите «Настроить» в редакторе WalkMe.
    2. Перейдите на вкладку CSS.
    3. Введите пользовательский CSS в редакторе CSS. Вы можете найти часто используемые пользовательские CSS ниже.
    4. Замените выделенные разделы в приведенном ниже 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 !важно;
    }

    Настройка виджета WalkMe

    Пользовательский 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.
    Автор записи

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

    Ваш адрес email не будет опубликован. Обязательные поля помечены *