Списки удобны своей иерархической структурой и гибкой настройкой вида, поэтому применяются не только по своему прямому назначению, но и для создания разных элементов страниц вроде хлебных крошек, нумерации страниц, меню, вкладок, и др.
Хлебные крошки
Хлебные крошки помогают ориентироваться на сайте и показывают положение текущей страницы относительно других разделов сайта. Это позволяет легко переходить на уровень выше и понять, в каком разделе вы находитесь сейчас. Так, для технического сайта навигация может быть следующей (рис. 1).
Рис. 1. Вид хлебных крошек
Последний текст указывает на текущую страницу и ссылкой не является. Все пункты отделяются друг от друга каким-нибудь символом, обычно это стрелка (→), слэш (/), знак больше (>) и тому подобное.
Поскольку оформление возложено на стили, то код HTML весьма лаконичен. Создаём список и присваиваем ему класс breadcrumbs чтобы стиль на другие списки не распространялся.
Заметьте, что никаких разделителей здесь нет, они выводятся с помощью стилевого свойства content (пример 1).
Пример 1. Создание хлебных крошек
Для начала мы обнуляем все поля и отступы у списка и выстраиваем пункты горизонтально через свойство display со значением inline-block . Оно же убирает маркеры, поэтому специально это делать уже не надо. Псевдоэлемент ::before требуется для добавления разделителя между пунктами и управления его видом. Текст добавляется ко всем пунктам, включая первый, что нам, конечно же, не надо. Поэтому убираем его с помощью псевдокласса :first-child , который применяет стиль к первому элементу
Большое количество материалов, например статьи сайта, часто разбивают на отдельные страницы по 10-15 статей на страницу, что приводит к сокращению загрузки сайта. Переход между отдельными страницами делается через их нумерацию, где каждый номер служит ссылкой на соответствующую страницу. Возможен вывод всех страниц, определённого их количества или только ссылок на следующую и предыдущую страницу. Какой вариант выбрать зависит от дизайна сайта и ваших предпочтений. Один из возможных способов нумерации показан на рис. 2.
Рис. 2. Нумерация страниц
Чтобы сделать такую нумерацию мы опять используем простой список, теперь уже с классом pager , каждый пункт этого списка будет ссылкой на страницу. Чтобы выделить текущую страницу добавим класс active (пример 2).
Пример 2. Нумерация страниц
- 1
- 2
- 3
- 4
- 5
- 6
Линия между пунктами делается через свойство border-bottom для элемента
-
. Поскольку
-
и
(пример 3). Они плотно прилегают друг к другу и создают эффект единой полоски.
Пример 3. Горизонтальное меню
Меню Градиент в данном примере добавляется с помощью функции linear-gradient , а тень - с помощью свойства box-shadow .
Ниспадающее меню
Более сложный вид меню называется ниспадающим. При наведении указателя на пункты появляется подменю, до этого невидимое (рис. 4); как только указатель уходит с текста, то меню прячется вновь.
Рис. 4. Вид ниспадающего меню
Такой вид меню достаточно сложен для вёрстки, поэтому разберём его подробнее. Вначале делаем вложенный список, - пункты первого списка служат текстом основного меню, второй список внутри элемента
- будет служить подменю. Если подменю не требуется, то оставляем только один элемент
- , а
-
в него не добавляем. Структура каждого пункта имеет следующий вид.
- Русская кухня
- Бефстроганов
- Гусь с яблоками
- Крупеник новгородский
- Раки по-русски
- , чтобы установить стиль для пунктов первого и второго уровня меню. Если просто указать селектор li , то стиль будет применяться ко всем пунктам вообще. Так что используем селектор .menu > li , он применяет стиль только к элементам
-
первого уровня. В итоге стиль для нашего горизонтального меню немного меняется.
/* Обнуляем отступы и убираем маркеры у списков */ .menu, .menu ul { list-style: none; margin: 0; padding: 0; } .menu { background: linear-gradient(to bottom, #fff, #f1f2f2); /* Градиент */ border: 1px solid #999; /* Параметры рамки */ padding: 0 5px; /* Поля */ font: 14px Arial, sans-serif; /* Параметры шрифта */ box-shadow: 0 2px 5px rgba(0,0,0,0.2); /* Тень под меню */ } .menu > li { display: inline-block; /* Выстраиваем по горизонтали */ border-right: 1px solid #fff; /* Белая линия справа */ position: relative; /* Относительное позиционирование */ } .menu a { text-decoration: none; /* Убираем подчёркивание */ color: #4c4c4c; /* Цвет ссылок */ display: block; /* Блочные ссылки */ } .menu > li > a { padding: 10px 15px; /* Поля */ border-right: 1px solid #d8d8d8; /* Серая линия справа */ position: relative; /* Относительное позиционирование */ z-index: 3; /* Выводим поверх остальных элементов */ } .menu ul { display: none; /* Прячем подменю */ }
Подменю мы прячем через свойство display , в итоге меню должно выглядеть как показано на рис. 3. Также добавлено обнуление значений у списков, это пригодится нам при добавлении подпунктов, плюс задействовано относительное позиционирование, без него z-index работать не будет. А оно нам требуется для правильного наложения одних элементов поверх других.
Временно можно включить показ подменю и настроить их вид.
Menu ul { position: absolute; /* Абсолютное позиционирование */ display: none; /* Прячем подменю */ width: 200px; /* Ширина подменю */ background: #fff; /* Цвет фона */ box-shadow: 0 0 10px #666; /* Параметры тени */ } .menu ul a { padding: 5px 10px; /* Поля */ } .menu ul a:hover { background: #008df2; /* Цвет фона */ color: #fff; /* Цвет текста */ }
Остаётся сделать вывод подменю при наведении курсора мыши на пункты меню. Для этого используем псевдокласс :hover , добавляя его к li.
Menu li:hover ul { display: block; }
Такой селектор говорит, что стиль следует применить к элементу
-
, в данном случае отобразить его, только когда указатель мыши наведён на элемент
-
внутри контейнера с классом menu
.
После этого наше меню будет работать и выводить подменю где оно имеется. Остаются последние декоративные штрихи, связанные с тенями и их правильным наложением. Чтобы корректно отобразить тень под пунктами меню первого уровня создадим пустой псевдоэлемент через ::before , установим для него тень, и подложим его под ссылку (вот z-index для и пригодился).
Menu > li:hover::before { content: ""; /* Создаём пустой псевдоэлемент */ top: 0; left: 0; right: 0; bottom: 0; /* Размер совпадает с пунктом меню */ box-shadow: 0 5px 10px #666; /* Параметры тени */ position: absolute; /* Абсолютное позиционирование */ }
Окончательный код продемонстрирован в примере 4.
Пример 4. Ниспадающее меню
Меню Красивая и оригинальная подборка на хлебные крошки, что выполнены в плоском дизайне, с использованием CSS3, на разную палитру оттенков. Безусловно видимость навигаций, виде кнопок отлично помогает как пользователю сайта, так и гостям, это ориентироваться на интернет ресурсе, где можно переходить по ключевым фразам, что нам будут выводить. Но и под стилистику отлично подходит, все больше можно заметить, что некоторые устанавливают на модуль форума, не говоря о современном дизайне.Если у вас, как вы считаете много материала, то здесь рекомендовано подключить этот функционал. Стиль списка не будет, чтобы избежать черной точки списка или другого стиля, который по умолчанию. Так как он распределяет его по категориям и безусловно модулям, начиная с главной странице, и все это преподносится на стильном виде. В данном материале вы наблюдаете подборку, которая сделано по стилистике аналогично, это в плоском стиле.
Вот по форме они совершенно разные, что кому-то даже не нужно будет редактировать под свой дизайн, так как он отлично впишется в него. Теперь мы будем использовать код css, чтобы сделать привязку первого списка и установить привязку последнего ребенка, чтобы сделать его по умолчанию, чтобы tringle не появлялся в привязке первого ребенка для якоря слева и последнего ребенка для правой стороны.
Оформление хлебных крошек
1. В светло желтом оттенке:
2. Светлая палитра с зеленой гаммой:
3. В малиновом цвете
4. Выполнен в синей палитре:
Это будет простой прямой список с фоном и дополнением и некоторыми другими стилями. После этого я создам треугольную структуру в правой части каждого анкера списка, используя CSS, играя со свойствами broder.
Как можете видеть в demo версии, когда наводим на панировочные сундуки любой анкер списка, он дает эффект, что будет означать, посещен или находитесь в этом разделе.
Или мы можем представить его эффект, чтобы сделать его активным в качестве активных панировочных сухарей. Вы можете сказать эти панировочные сухари css только сухари, потому что я буду использовать только css и css3, чтобы сделать эти панировочные сухари.
Приступаем к установке:
CSSСтиль списка не будет, чтобы избежать черной точки списка или другого стиля, который по умолчанию. Каждый список inline div будет list-inline, чтобы сделать его горизонтальным списком, используя css display: list-inline.
#breadcrumb-isanchogives1 {
text-align: center;
margin-top:30px;
}#breadcrumb-isanchogives1 ul {
list-style: none;
display: inline-table;
}
#breadcrumb-isanchogives1 ul li {
display: inline;
}#breadcrumb-isanchogives1 ul li a {
display: block;
float: left;
height: 50px;
background: #ffd928;
text-align: center;
padding: 30px 40px 0 80px;
position: relative;
margin: 0 10px 0 0;Font-size: 20px;
text-decoration: none;
color: #fff;}
#breadcrumb-isanchogives1 ul li a:after {
content: "";
border-left: 40px solid #ffd928;
z-index: 1;#breadcrumb-isanchogives1 ul li a:before {
content: "";
border-top: 40px solid transparent;
border-bottom: 40px solid transparent;
}#breadcrumb-isanchogives1 ul li:first-child a {
}
#breadcrumb-isanchogives1 ul li:first-child a:before {
display: none;
}#breadcrumb-isanchogives1 ul li:last-child a {
padding-right: 80px;
}
#breadcrumb-isanchogives1 ul li:last-child a:after {
display: none;
}#breadcrumb-isanchogives1 ul li a:hover {
background: #ff9a2d;
}
#breadcrumb-isanchogives1 ul li a.wesove-readcrum{
background: #ff9a2d;
}
#breadcrumb-isanchogives1 ul li a:hover:after {
border-left-color: #ff9a2d;
}
#breadcrumb-isanchogives1 ul li a.wesove-readcrum:after {
border-left-color: #ff9a2d;
}#breadcrumb-isanchogives2 {
text-align: center;
margin-top:30px;
}#breadcrumb-isanchogives2 ul {
list-style: none;
display: inline-table;
}
#breadcrumb-isanchogives2 ul li {
display: inline;
}#breadcrumb-isanchogives2 ul li a {
display: block;
float: left;
height: 50px;
background: #56e9ae;
text-align: center;
padding: 30px 40px 0 80px;
position: relative;
margin: 0 10px 0 0;Font-size: 20px;
text-decoration: none;
color: #fff;}
#breadcrumb-isanchogives2 ul li a:after {
content: "";
border-top: 40px solid transparent;
border-bottom: 40px solid transparent;
border-left: 40px solid #56e9ae;
position: absolute; right: -40px; top: 0;
z-index: 1;#breadcrumb-isanchogives2 ul li a:before {
content: "";
border-top: 40px solid transparent;
border-bottom: 40px solid transparent;
border-left: 40px solid #f2f2f2;
position: absolute; left: 0; top: 0;
}#breadcrumb-isanchogives2 ul li:first-child a {
}#breadcrumb-isanchogives2 ul li:last-child a {
padding-right: 80px;
}#breadcrumb-isanchogives2 ul li a:hover {
background: #49c593;
}
#breadcrumb-isanchogives2 ul li a.wesove-readcrum {
background: #49c593;
}
#breadcrumb-isanchogives2 ul li a:hover:after {
border-left-color: #49c593;
}
#breadcrumb-isanchogives2 ul li a.wesove-readcrum:after {
border-left-color: #49c593;
}#breadcrumb-isanchogives3 {
text-align: center;
margin-top:30px;
}#breadcrumb-isanchogives3 ul {
list-style: none;
display: inline-table;
}
#breadcrumb-isanchogives3 ul li {
display: inline;
}#breadcrumb-isanchogives3 ul li a {
display: block;
float: left;
height: 50px;
background: #ff818b;
text-align: center;
padding: 30px 40px 0 80px;
position: relative;
margin: 0 10px 0 0;Font-size: 20px;
text-decoration: none;
color: #fff;}
#breadcrumb-isanchogives3 ul li a:after {
content: "";
height:80px;
width:40px;
background: #ff818b;
position: absolute; right: -40px; top: 0;
z-index: 1;#breadcrumb-isanchogives3 ul li a:before {
content: "";
height:80px;
width:40px;
border-radius:0px 40px 40px 0px;
background:#f2f2f2;
position: absolute; left: 0; top: 0;
}#breadcrumb-isanchogives3 ul li:first-child a {
border-top-left-radius: 10px; border-bottom-left-radius: 10px;
}
#breadcrumb-isanchogives3 ul li:first-child a:before {
display: none;
}#breadcrumb-isanchogives3 ul li:last-child a {
padding-right: 80px;
border-top-right-radius: 10px; border-bottom-right-radius: 10px;
}
#breadcrumb-isanchogives3 ul li:last-child a:after {
display: none;
}#breadcrumb-isanchogives3 ul li a:hover {
background: #ea606b;
}
#breadcrumb-isanchogives3 ul li a.wesove-readcrum {
background: #ea606b;
}
#breadcrumb-isanchogives3 ul li a:hover:after {
background: #ea606b;
}
#breadcrumb-isanchogives3 ul li a.wesove-readcrum:after {
background: #ea606b;
}#breadcrumb-isanchogives4 {
text-align: center;
margin-top:30px;
}#breadcrumb-isanchogives4 ul {
list-style: none;
display: inline-table;
}
#breadcrumb-isanchogives4 ul li {
display: inline;
}#breadcrumb-isanchogives4 ul li a {
display: block;
float: left;
height: 50px;
background: #2b97cc;
text-align: center;
padding: 30px 40px 0 80px;
position: relative;
margin: 0 10px 0 0;Font-size: 20px;
text-decoration: none;
color: #fff;}
#breadcrumb-isanchogives4 ul li a:after {
content: "";
height:80px;
width:40px;
border-radius:0px 40px 40px 0px;
background:#2b97cc;
position: absolute; right: -40px; top: 0;
z-index: 1;#breadcrumb-isanchogives4 ul li a:before {
content: "";
height:80px;
width:40px;
background:#f2f2f2;
border-radius:0px 40px 40px 0px;
position: absolute; left: 0; top: 0;
}#breadcrumb-isanchogives4 ul li:first-child a {
border-top-left-radius: 0px; border-bottom-left-radius: 0px;
}#breadcrumb-isanchogives4 ul li:last-child a {
padding-right: 80px;
border-top-right-radius: 0px; border-bottom-right-radius: 0px;
}#breadcrumb-isanchogives4 ul li a:hover {
background: #207ca8;
}
#breadcrumb-isanchogives4 ul li a.wesove-readcrum {
background: #207ca8;
}
#breadcrumb-isanchogives4 ul li a:hover:after {
background: #207ca8;
}
#breadcrumb-isanchogives4 ul li a.wesove-readcrum:after {
background: #207ca8;
}
Прежде всего создайте структуру html на основе тегов div и ul li. Div содержит идентификатор, каждый идентификатор будет содержать другой стиль в таблице стилей, чтобы представить отдельный дизайн. Где мы используем нумерацию, как один, два, три, четыре.Эти идентификаторы имеют одинаковую внутреннюю структуру, разделенную разными стилями в соответствии с их идентификатором.
Доброго времени суток, дорогие читатели!
Как влияют хлебные крошки на поисковую оптимизацию и как сделать их на сайте с WordPress. Именно об этом пойдет речь в сегодняшней статье. Забегая вперед, скажу, что breadcrumbs помогают вашим пользователям ориентироваться на сайте. Также они имеют положительное влияние на SEO.
Хлебные крошки (на англ. breadcrumbs) – это подсказки на сайте, которые показывают пользователю, где он находится. Эдакая цепочка, которая создана для навигации.
Они кликабельные, это значит, что посетитель в любой момент может перейти на “уровень” выше – в подрубрику или рубрику. Как правило, breadcrumbs имеют такой вид: главная – рубрика – подрубрика – статья. Последний элемент очень часто удаляют, полагая, что это создает ненужное дублирование.
Считается, что это название – отсылка к сказке, где дети при походе в лес оставляли за собой дорожку из хлебных крошек для навигации. По этой дорожке они должны были вернуться обратно. Цепочка ссылок тоже представляет собой дорожку, чем дальше на сайт, тем большей в ней элементов. И по сути, по этой цепочке можно вернуться обратно – на главную страницу. Точно так же, как и в сказке.
Как влияют на SEO
Использование навигационной ленты считается хорошим тоном в мире поисковой оптимизации.
Во-первых, она улучшает поведенческие факторы. А это, как известно, чуть ли не самый основной показатель качества сайта. Если юзабилити будет на хорошем уровне, использование и навигация будут понятными и удобными, то посетители определенно это оценят и останутся на ресурсе дольше. К тому же, чем лучше поведенческие факторы, тем выше ваш ресурс будет в выдаче.
Во-вторых, наличие breadcrumbs уже считается хорошим фактором для поисковика. Роботы видят, что на проекте есть система навигации, структура, и это хорошо сказывается на ранжировании.
Естественно, одна лишь навигационная панель не будет выводить ваш ресурс в топ. Это работает вместе с другими аспектами грамотной SEO-оптимизации.
Если подводить итог, то breadcrumbs помогают:
- улучшить поведенческие факторы и юзабилити,
- сделать структуру сайта понятной и доступной,
- легко перемещаться по страницам,
- улучшить SEO в техническом плане,
- сделать перелинковку.
То есть использование навигационной ленты строго обязательно для тех, кто хочет, чтобы его проект был удобным, практичным и посещаемым.
Виды хлебных крошек
Да-да, у них есть и разновидности. Их не так много, но все равно стоит учитывать этот момент.
Линейный
Обычная полоска, которая показывает путь от главной страницы к статье. Самый часто встречающийся тип хлебных крошек.. У нас как раз линейный тип навигационной панели.
Кнопка “Назад”
Очень неудобный тип навигации, который очень часто встречается в интернет-магазинах. Как правило, пользователи не особо довольны этим и используют аналогичную кнопку в самом браузере. Для информационного сайта такой вариант практически бесполезен.
Гибрид
Этот вариант объединяет два предыдущих. То есть на ресурсе присутствует и линейная навигация и кнопка “Назад”. Можно сказать, что это компромисс, который помогает угодить всем. Но, как я и сказал выше, кнопкой “Назад” люди пользуются крайне редко, предпочитая ей кнопку в самом браузере – благо такие есть во всех современных приложениях.
Обычно навигационная панель расположена на всех страницах, кроме главной. В WordPress это рубрики, метки, статьи и прочие таксономии.
Как создать хлебные крошки на WordPress
Самый простой вариант создания навигационной ленты на WordPress и других сайтах – через html. Вернее, это будет гибрид html и php – иначе придется прописать каждую навигационную цепочку вручную, а это не очень-то приятное занятие.
С помощью шаблона
Разумно будет выбрать шаблон сразу с хлебными крошками. Если вы только продумываете дальнейший сайт и еще не приступили к его созданию – стоит заглянуть в какой-нибудь магазин шаблонов WordPress и поискать там тему с этой функцией (советую Root).
Это будет наиболее практичный вариант, потому как вам не придется устанавливать дополнительные плагины. При этом вам не придется вручную что-то дописывать или править, все будет работать, что называется, из коробки (сразу после установки).
Плагины
Вы можете установить навигационную ленту вместе с плагином. Но учитывайте, что каждый плагин может нагружать вашу CMS еще больше. Если плагинов и так много, то еще один новый может попросту все испортить, замедлив работу сайта.
Yoast SEO – подробная инструкция по настройке крошек
Если в качестве SEO-плагина вы используете – у меня для вас отличные новости. Breadcrumbs присутствуют в функционале, поэтому вам остается лишь настроить их.
Это общая инструкция, которая должна подойти большинству пользователей. Она основана на той информации, которую дают сами авторы плагина.
Итак, для того чтобы навигационная лента в Yoast SEO работала мы должны разместить в файлах нашего шаблона следующий PHP-код:
Обычно этот код вставляют в общие шаблоны страниц – single.php или page.php. Также некоторые пользователи вставляют этот код в header.php – в самый конец. Сработает ли это конкретно в вашем случае или нет – я не знаю, но вы можете попробовать.
Общие шаблоны страниц можно редактировать через встроенные инструменты WordPress. Идем во “Внешний вид” – “Редактор”, находим нужный файл в списке.
Здесь представлен PHP-код и HTML-разметка. Неподготовленный пользователь может запутаться, но нужно собраться и попытаться понять что и где.
Конкретно в моей теме хлебные крошки уже предусмотрены, сразу после header идет функция, которая вызывает нативную навигационную цепочку. У вас этот код будет отличаться, но общий смысл остается неизменным.
Лучше всего разместить breadcrumbs прямо под header – функция get_header (); – как раз служит для его вызова. Поэтому правильно будет расположить код из Yoast SEO прямо под ним.
Но учтите, что для кастомизации навигационной ленты, возможно, придется поработать с CSS-стилями. Они предусмотрены и самим плагином, но могут не подойти.
Вы можете использовать хлебные крошки даже в статьях. Вам нужно просто оставить в нужном месте такой шорткод: .
Но ни код, ни шорткод не будут работать, если функция навигационной цепочки отключена в самом плагине. Чтобы включить ее, вы должны перейти в настройки плагина (вкладка “SEO”) – отображение в поисковой выдаче – хлебные крошки.
Переключите ползунок на “Включено”, после чего прокрутите страницу вниз и нажмите “Сохранить изменения”. С этого момента хлебные крошки начнут работать.
При желании вы можете настроить их. Например, задать разделитель между элементами, прописать текст ссылки на главную страницу, префиксы для таксономий и т. д.
Также вы можете выделять последнюю страницу (или название материала) жирным. Для этого переключите соответствующий ползунок.
Если Yoast SEO вам не особо подходит, то можно обратить внимание на другие плагины, позволяющие создать breadcrumbs на вашем сайте. В каталоге бесплатных их очень много, но я выделю наиболее популярные варианты.
Breadcrumb NavXT
Простой плагин, который может создать breadcrumbs для вашего проекта. На данный момент у него более 800 тысяч активных пользователей. Плагин имеет собственную панель управления и подходит для большинства сайтов на WordPress.
В Breadcrumb NavXT можно настроить почти все. Внешний вид, отображаемые элементы и их порядок. Тут намного больше возможностей, чем в том же Yoast SEO (именно относительно настройки навигационной цепочки).
Данное расширение можно установить абсолютно бесплатно из каталога WordPress. Найти его можно по ключевым словам.
Breadcrumb
Еще одно расширение, которое может быть установлено прямо из каталога. В отличие от предыдущего, этот плагин не имеет такой большой аудитории. Всего 10 000 активных пользователей. Но если учесть, что многие отдают предпочтение другим вариантам создания навигационных цепочек, то это вполне себе неплохой результат.
Плагин простой и легкий. Имеет красивый дизайн (см. скриншот), можно менять цвета. Для использования на небольших проектах его хватит с лихвой.
Есть и другие плагины. Они менее популярны, но вы все равно можете попробовать их. Просто зайдите в каталог плагинов и введите ключевое слово breadcrumbs. ВордПресс сразу выдаст вам несколько десятков подходящих вариантов.
Заключение
Хлебные крошки – это отличный способ навигации по сайту. Они улучшают SEO, повышают поведенческие факторы и дают возможность пользователям ориентироваться на страницах сайта.
Практически все современные сайты стараются уделять этому внимание. Не отстают и веб-дизайнеры, сейчас отсутствие breadcrumbs в шаблоне считается очень весомым недостатком. Кто-то даже откажется покупать такой шаблон, только из-за этой, казалось бы, незначительной мелочи. Обязательно учитывайте этот факт и старайтесь делать свой сайт удобным для пользователей.
Если вы хотите узнать больше о создании информационных проектов под заработок, то я советую вам заглянуть на . Автор рассказывает о создании сайта на WordPress, грамотной технической и поисковой оптимизации, а самое главное – об актуальных способах монетизации.
Благодаря развитию CSS и CSS3 за последние годы, мы достигли момента, когда многие старые программные решения, включающие фоновые изображения, теперь могут быть созданы полностью на CSS. В этом уроке мы рассмотрим создание последовательности ссылок навигации, называемой «хлебными крошками», в плоском стиле, без необходимости в ранее популярном методе работы с фоновым изображением, называемом методом «раздвижных дверей».
«Хлебные крошки», которые мы создадим, стилизованы в форме шевронов, чтобы визуализировать идею структурированного содержимого. Раньше мы бы использовали фоновое изображение в формате PNG, чтобы создать эту форму шеврона, а теперь с помощью хитрой техники границ можно создать такой же эффект, используя только CSS.
Мы начнем с создания ссылок навигации «хлебных крошек» как ненумерованного списка. Каждая «хлебная крошка» будет элементом
- с установленным элементом якоря.
#crumbs ul li a { display : block ; float : left ; height : 50px ; background : #3498db ; text-align : center ; padding : 30px 40px 0 40px ; position : relative ; margin : 0 10px 0 0 ; font-size : 20px ; text-decoration : none ; color : #fff ; }
Изначальный код CSS задает каждому якорю элемента списка стиль аккуратного синего прямоугольника. Текст расположен в центре, и равные внутренние отступы добавлены со всех сторон. Для того, чтобы позиционировать абсолютно следующие элементы, этим элементам добавлено свойство position: relative;, чтобы те абсолютно спозиционированные элементы отображались относительно этого родительского элемента.
#crumbs ul li a:after { content : "" ; border-top : 40px solid red ; border-bottom : 40px solid red ; border-left : 40px solid blue ; position : absolute ; right : -40px ; top : 0 ; }
Теперь мы создадим эффект шеврона в CSS, что раньше было достижимо только с использованием фонового изображения. Используйте селектор:after, чтобы создать дополнительный элемент, которому можно индивидуально задать стили. Треугольная форма создана с помощью различных границ CSS, так что как Вы можете видеть в предыдущем изображении, голубой треугольник может быть создан, применяя границы верха и низа, чтобы пересечь область накрывания. Эти границы окрашены красным для наглядности, но если они будут прозрачными, то получится голубой треугольник. Этот эффект границы потом передвигается на свое место с помощью абсолютного позиционирования.
Border-top : 40px solid transparent ; border-bottom : 40px solid transparent ; border-left : 40px solid #3498db ;
Эффект границы с правильными значениями цвета создаст желаемый треугольник, который придаст «хлебным крошкам» популярную форму шеврона.
#crumbs ul li a:before { content : "" ; border-top : 40px solid transparent ; border-bottom : 40px solid transparent ; border-left : 40px solid #d4f2ff ; position : absolute ; left : 0 ; top : 0 ; }
Используя те же самые принципы, другая треугольная форма может быть применена к левой части «хлебной крошки». В этот раз задан такой же цвет границы, как и цвет фона, чтобы скрыть части голубого фонового цвета ссылки.
Padding : 30px 40px 0 80px ;
По мере добавления ссылок в HTML, последовательность «хлебных крошек» увеличивается, они разделены интересной формы шевронами, благодаря треугольному эффекту границ CSS и небольшому правому внешнему отступу.
#crumbs ul li:first-child a { border-top-left-radius: 10px ; border-bottom-left-radius: 10px ; } #crumbs ul li:first-child a:before { display : none ; } #crumbs ul li:last-child a { padding-right : 80px ; border-top-right-radius: 10px ; border-bottom-right-radius: 10px ; } #crumbs ul li:last-child a:after { display : none ; }
Полный блок «хлебных крошек» может быть далее стилизован путем удаления эффекта треугольника с первого и последнего элементов с помощью селекторов:first-child и:last-child , после чего можно придать небольшое скругление углам с помощью свойства border-radius.
#crumbs ul li a:hover { background : #fa5ba5 ; } #crumbs ul li a:hover :after { border-left-color : #fa5ba5 ; }
Все, что осталось, — применить к ссылкам эффект, возникающий при наведении указателя мыши. Не забудьте изменить значение свойства border-left-color для эффекта треугольника в состоянии, возникающем при наведении указателя мыши, чтобы вся «хлебная крошка» поменяла цвет.
Перевод — Дежурка
На этом уроке познакомитесь с процессом создания в Bootstrap 3 и 4 навигационных цепочек («хлебных крошек»).
Разметка навигационных цепочек
Навигационные цепочки («хлебные крошки», breadcrumbs) - это схема навигации, которая показывает текущее положение пользователя на сайте. Они применяются для отображения иерархически-организованной информации. Например, в интернет-магазине "хлебные крошки" обычно представляют собой цепочки разделов. С их помощью пользователь может определить, в каком разделе он находится сейчас, а также они позволяют перейти на разделы более высоких уровней, т.е. предоставляют ещё одну возможность навигации по структуре сайта.
"Хлебные крошки" в Bootstrap – это обычный упорядоченный список с классом breadcrumbs . Разделитель элементов списка автоматически добавляется с помощью CSS (bootstrap.min.css) через следующий класс:
Breadcrumbs > li + li:before { color: #cccccc; content: "/"; padding: 0 5px; }
Пример создания "хлебных крошек" с помощью Bootstrap.
Ещё один пример:
Не стандартный вариант оформления хлебных крошек
Рассмотрим пример создания следующего варианта оформления хлебных крошек:
Пример оформления хлебных крошек на сайте
Процесс создания хлебных крошек складывается из разработки HTML структуры и стилей (CSS).
CSS хлебных крошек:
/* хлебные крошки */ #breadcrumb { list-style: none; display: inline-block; padding-left: 0px; } #breadcrumb .icon { font-size: 14px; } #breadcrumb li { float: left; } #breadcrumb li a { color: #fff; display: block; background: #cc2eaa; text-decoration: none; position: relative; height: 34px; line-height: 34px; padding: 0 10px 0 5px; text-align: center; margin-right: 23px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } #breadcrumb li:first-child a { padding-left: 15px; -moz-border-radius: 4px 0 0 4px; -webkit-border-radius: 4px; border-radius: 4px 0 0 4px; } #breadcrumb li:first-child a:before { border: none; } #breadcrumb li:last-child a { padding-right: 15px; -moz-border-radius: 0 4px 4px 0; -webkit-border-radius: 0; border-radius: 0 4px 4px 0; } #breadcrumb li:last-child a:after { border: none; } #breadcrumb li a:before, #breadcrumb li a:after { content: ""; position: absolute; top: 0; border: 0 solid #cc2eaa; border-width: 17px 10px; width: 0; height: 0; } #breadcrumb li a:before { left: -20px; border-left-color: transparent; } #breadcrumb li a:after { left: 100%; border-color: transparent; border-left-color: #cc2eaa; } #breadcrumb li a:hover { background-color: #a22587; } #breadcrumb li a:hover:before { border-color: #a22587; border-left-color: transparent; } #breadcrumb li a:hover:after { border-left-color: #a22587; } #breadcrumb li a:active { background-color: #a22587; } #breadcrumb li a:active:before { border-color: #a22587; border-left-color: transparent; } #breadcrumb li a:active:after { border-left-color: #a22587; } #breadcrumb li.current a { pointer-events: none; cursor: not-allowed; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; opacity: .65; }
Изменения цвета производится посредством редактирования значений соответствующих CSS свойств.
HTML разметка:
Веделение текущего элемента (если он будет использоваться в цепочке) осуществляется с помощью добавления к элементу li класса current .
-
внутри контейнера с классом menu
.
Теперь нам надо различить стиль для разных элементов
-
- это блочный элемент и занимает всю доступную ему ширину, её надо ограничить либо задав width
, либо, как показано в примере, установив display
со значением inline-block
. Линия оказывается под числами, так что пункты меню смещаем вниз на половину их высоты.
Размеры всех кругов установлены точно, через width и height , в связи с чем возникает две проблемы. Первая - ссылка гораздо меньше самого круга и пользователь будет промахиваться; вторая - ссылка располагается в верхней части круга, но никак не по его середине. Первая проблема решается просто - надо сделать ссылки блочными, тогда они будут занимать всю ширину и высоту круга. При этом ссылки остаются квадратными и немного выходят за пределы цветного фона. Но это не видно и становится заметно только при наведении курсора в один из углов ссылки. Выравнивание текста делается с помощью свойства line-height , значение которого совпадает с высотой элемента. Этот способ позволяет выровнять текст по середине высоты элемента и он нам ещё пригодится в дальнейшем.
Создание меню
Меню на сайте это один из способов навигации по нему. Самый простой вариант - набор горизонтальных ссылок, напоминающих по своему виду хлебные крошки. Отличие в том, что между ссылок нет указателей (рис. 3).
Рис. 3. Горизонтальное меню
Для создания такого меню применяем принципы используемые нами в предыдущих примерах, но для разнообразия внесём декоративные изменения. Меню имеет небольшой градиент, под ним находится слабая тень, а пункты меню разделяются вертикальной линией. Сама линия нестандартная и состоит из серой и белой полосок, так что отдельно будем добавлять свою линию к элементам