Хлебные крошки на CSS и HTML
.cd-breadcrumb, .cd-multi-steps {
width: 90%;
max-width: 768px;
padding: 0.5em 1em;
margin: 1em auto;
background-color: #edeff0;
border-radius: .25em;
}
.cd-breadcrumb:after, .cd-multi-steps:after {
content: «»;
display: table;
clear: both;
}
.cd-breadcrumb li, .cd-multi-steps li {
display: inline-block;
float: left;
margin: 0.5em 0;
}
.cd-breadcrumb li::after, .cd-multi-steps li::after {
/* this is the separator between items */
display: inline-block;
content: ‘\\00bb’;
margin: 0 .6em;
color: #959fa5;
}
.cd-breadcrumb li:last-of-type::after, .cd-multi-steps li:last-of-type::after {
/* hide separator after the last item */
display: none;
}
.cd-breadcrumb li > *, .cd-multi-steps li > * {
/* single step */
display: inline-block;
font-size: 1.4rem;
color: #2c3f4c;
}
.cd-breadcrumb li.current > *, .cd-multi-steps li.current > * {
/* selected step */
color: #96c03d;
}
.no-touch .cd-breadcrumb a:hover, .no-touch .cd-multi-steps a:hover {
/* steps already visited */
color: #96c03d;
}
.cd-breadcrumb.custom-separator li::after, .cd-multi-steps.custom-separator li::after {
/* replace the default arrow separator with a custom icon */
content: »;
height: 16px;
width: 16px;
background: url(../img/cd-custom-separator.svg) no-repeat center center;
vertical-align: middle;
}
.cd-breadcrumb.custom-icons li > *::before, .cd-multi-steps.custom-icons li > *::before {
/* add a custom icon before each item */
content: »;
display: inline-block;
height: 20px;
width: 20px;
margin-right: .4em;
margin-top: -2px;
background: url(../img/cd-custom-icons-01.svg) no-repeat 0 0;
vertical-align: middle;
}
.cd-breadcrumb.custom-icons li:not(.current):nth-of-type(2) > *::before, .cd-multi-steps.custom-icons li:not(.current):nth-of-type(2) > *::before {
/* change custom icon using image sprites */
background-position: -20px 0;
}
.cd-breadcrumb.custom-icons li:not(.current):nth-of-type(3) > *::before, .cd-multi-steps.custom-icons li:not(.current):nth-of-type(3) > *::before {
background-position: -40px 0;
}
.cd-breadcrumb.custom-icons li:not(.current):nth-of-type(4) > *::before, .cd-multi-steps.custom-icons li:not(.current):nth-of-type(4) > *::before {
background-position: -60px 0;
}
.cd-breadcrumb.custom-icons li.current:first-of-type > *::before, .cd-multi-steps.custom-icons li.current:first-of-type > *::before {
/* change custom icon for the current item */
background-position: 0 -20px;
}
.cd-breadcrumb.custom-icons li.current:nth-of-type(2) > *::before, .cd-multi-steps.custom-icons li.current:nth-of-type(2) > *::before {
background-position: -20px -20px;
}
.cd-breadcrumb.custom-icons li.current:nth-of-type(3) > *::before, .cd-multi-steps.custom-icons li.current:nth-of-type(3) > *::before {
background-position: -40px -20px;
}
.cd-breadcrumb.custom-icons li.current:nth-of-type(4) > *::before, .cd-multi-steps.custom-icons li.current:nth-of-type(4) > *::before {
background-position: -60px -20px;
}
@media only screen and (min-width: 768px) {
.cd-breadcrumb, .cd-multi-steps {
padding: 0 1.2em;
}
.cd-breadcrumb li, .cd-multi-steps li {
margin: 1.2em 0;
}
.cd-breadcrumb li::after, .cd-multi-steps li::after {
margin: 0 1em;
}
.cd-breadcrumb li > *, .cd-multi-steps li > * {
font-size: 1.6rem;
}
}
@media only screen and (min-width: 768px) {
.no-touch .cd-breadcrumb.triangle.custom-icons li:first-of-type a:hover::before, .cd-breadcrumb.triangle.custom-icons li.current:first-of-type em::before, .no-touch .cd-multi-steps.text-center.custom-icons li:first-of-type a:hover::before, .cd-multi-steps.text-center.custom-icons li.current:first-of-type em::before {
/* change custom icon using image sprites — hover effect or current item */
background-position: 0 -40px;
}
.no-touch .cd-breadcrumb.triangle.custom-icons li:nth-of-type(2) a:hover::before, .cd-breadcrumb.triangle.custom-icons li.current:nth-of-type(2) em::before, .no-touch .cd-multi-steps.text-center.custom-icons li:nth-of-type(2) a:hover::before, .cd-multi-steps.text-center.custom-icons li.current:nth-of-type(2) em::before {
background-position: -20px -40px;
}
.no-touch .cd-breadcrumb.triangle.custom-icons li:nth-of-type(3) a:hover::before, .cd-breadcrumb.triangle.custom-icons li.current:nth-of-type(3) em::before, .no-touch .cd-multi-steps.text-center.custom-icons li:nth-of-type(3) a:hover::before, .cd-multi-steps.text-center.custom-icons li.current:nth-of-type(3) em::before {
background-position: -40px -40px;
}
.no-touch .cd-breadcrumb.triangle.custom-icons li:nth-of-type(4) a:hover::before, .cd-breadcrumb.triangle.custom-icons li.current:nth-of-type(4) em::before, .no-touch .cd-multi-steps.text-center.custom-icons li:nth-of-type(4) a:hover::before, .cd-multi-steps.text-center.custom-icons li.current:nth-of-type(4) em::before {
background-position: -60px -40px;
}
}
Как сделать хлебные крошки на сайте с помощью CSS
За последнее время CSS и CSS3 сильно продвинулись вперед и поэтому старые стили, которые используют картинки на заднем фоне для получения нужной фигуры — больше не требуются.
В этой статье я расскажу как сделать хлебные крошки на сайте с помощь HTML и CSS в стиле flat. Так же можете посмотреть интересные flat шаблоны сайтов, может что-нибудь пригодиться. Я недавно делал подборку.
В конце мы получим вот такой результат:
Ранее, для того чтобы сделать прозрачную стрелки между двумя блоками использовалась прозрачная картинка на заднем фоне. Теперь данная проблема может быть решена используя только CSS.
<div> <ul> <li><a href="#">Breadcrumb</a></li> </ul> </div>
Для начала создадим маркированный список — <ul>, в котором будут <li> элементы. Хлебная крошка будет добавляться с помощью добавления нового <li>.
Теперь напишем 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; }
Данные стили добавляют:
- вид для ссылки в виде блока и синий цвет
- центрируют текст и делаем его белым
- ровный padding , чтобы блок отображался корректно по вертикали
- сбрасывает иные стили для ссылок с text-decoration: none
Внимание:
#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; }
Для создания стрелок мы будем использовать свойство :after, которое позволяет создавать дополнительный элемент после родителя. Добавляем ему position: absolute — для этого мы и делали positive: relative для ссылок <a>, чтобы удержать absolute свойство внутри ссылки и манипулировать им как нам хочется.
Вид стрелки будет сделан с помощью использования border’ов. В примере специально использован красный цвет, но чтобы придать вид треугольника будет использоваться transparent. Далее border будет пододвинут на месте с использование position: absolute.
Меняем red в border на transparent, чтобы создать эффект прозрачности.
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; }
Используя тот же принцип как и в третьем этапе — можно создать прозрачный треугольник позади блока. Цвет border должен быть поставлен как и задний цвет сайта, чтобы создавался эффект прозрачности.
padding: 30px 40px 0 80px;
Добавляя новые <li> увеличивают глубину хлебной крошки.
<div> <ul> <li><a href="#1">Один</a></li> <li><a href="#2">Два</a></li> <li><a href="#3">Три</a></li> <li><a href="#4">Четыре</a></li> <li><a href="#5">Пять</a></li> </ul> </div>
Чтобы создать эффект закругления для первого и последнего элемента в хлебной крошки мы будем использовать :first-child и :last-child.
#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; }
После чего нужно сделать выделения ссылки при наведении на нее. Цвет выделения можно выбрать по вашему вкусы — как пожелаете.
#crumbs ul li a:hover { background: #fa5ba5; } #crumbs ul li a:hover:after { border-left-color: #fa5ba5; }
Так же не забудьте добавить border-radius при наведении на первый и последний элемент в хлебной крошке.
Вот что у нас получилось: https://jsfiddle.net/AlexanderT/bmuwLfqr/
На этом все. Если у вас есть какие-то вопросы — пишите комментарии и поделитесь статьей, если вам понравилось!
Как сделать хлебные крошки на сайте с помощью CSS от bologer
HTML и CSS. Хлебные крошки (Breadcrumbs)
Хлебные крошки рекомендуется оформлять как список.
<ol> <li> <a href="http://know-online.com/">Главная</a> </li> <li> <a href="http://know-online.com/category">Раздел</a> </li> <li> <a href="http://know-online.com/category/page">Страница</a> </li> </ol>
Дальше остаётся их оформить в CSS. Пример на JSFiddle.
Название «Хлебные крошки» является отсылкой к сказке «Гензель и Гретель» братьев Гримм, где дети оставляли хлебные крошки в лесу, чтобы по ним вернуться домой.
Для хлебных крошек можно сделать микроразметку, чтобы оформить их в поисковых системах.
Код микроразметки для хлебных крошек выглядит следующим образом:
<ol itemscope itemtype="http://schema.org/BreadcrumbList"> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="http://know-online.com/arts"><span itemprop="name">Arts</span></a> <meta itemprop="position" content="1" /> </li> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="http://know-online.com/arts/books"><span itemprop="name">Books</span></a> <meta itemprop="position" content="2" /> </li> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="http://know-online.com/arts/books/poetry"><span itemprop="name">Poetry</span></a> <meta itemprop="position" content="3" /> </li> </ol>
Оформление хлебных крошек
ul.breadcrumb-1 * {
box-sizing: border-box;
}
ul.breadcrumb-1 {
margin: 20px;
padding: 0;
display: flex;
flex-wrap: wrap;
list-style: none;
}
ul.breadcrumb-1 li {
position: relative;
border: 2px solid #337AB7;
border-right: 0;
margin: 2px 0;
}
ul.breadcrumb-1 li:last-child {
border: 2px solid #BFE2FF;
border-right: 0;
}
ul.breadcrumb-1 li:first-child a {
font-size: 0;
background-image: url(«data:image/svg+xml,%3Csvg xmlns=’http://www.w3.org/2000/svg’ viewBox=’0 0 24 24′ fill=’none’ stroke=’%23337AB7′ stroke-width=’3′ stroke-linecap=’round’ stroke-linejoin=’round’%3E%3Cpath d=’M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z’%3E%3C/path%3E%3Cpolyline points=’9 22 9 12 15 12 15 22’%3E%3C/polyline%3E%3C/svg%3E»);
background-repeat: no-repeat;
background-position: 50% 50%;
}
ul.breadcrumb-1 li:first-child:after,
ul.breadcrumb-1 li:first-child a:after {
display: none;
}
ul.breadcrumb-1 li:after,
ul.breadcrumb-1 li a:after,
ul.breadcrumb-1 li span:after {
content: »;
position: absolute;
border: 0;
top: 50%;
}
ul.breadcrumb-1 li:after {
z-index: 1;
border-top: 17px solid transparent;
border-bottom: 17px solid transparent;
border-left: 17px solid #337AB7;
margin-top: -17px;
right: -17px;
}
ul.breadcrumb-1 li:last-child:after {
border-left: 17px solid #BFE2FF;
}
ul.breadcrumb-1 li a,
ul.breadcrumb-1 li span {
position: relative;
transition: all 0.3s ease-in;
text-decoration: none;
height: 30px;
color: #000;
background-color: #BFE2FF;
text-align: center;
display: block;
line-height: 30px;
padding: 0 20px 0 30px;
font-size: 13px;
font-family: Verdana, sans-serif;
}
ul.breadcrumb-1 li span {
color: #000;
background-color: #FFF;
}
ul.breadcrumb-1 li a:after,
ul.breadcrumb-1 li span:after {
transition: all 0.3s ease-in;
z-index: 2;
border-top: 15px solid transparent;
border-bottom: 15px solid transparent;
border-left: 15px solid #BFE2FF;
margin-top: -15px;
right: -14px;
}
ul.breadcrumb-1 li a:hover {
background-color: #FFF;
}
ul.breadcrumb-1 li a:hover:after,
ul.breadcrumb-1 li span:after {
border-left: 15px solid #FFF;
}
Создание плоских «хлебных крошек» с использованием CSS
Благодаря развитию CSS и CSS3 за последние годы, мы достигли момента, когда многие старые программные решения, включающие фоновые изображения, теперь могут быть созданы полностью на CSS. В этом уроке мы рассмотрим создание последовательности ссылок навигации, называемой «хлебными крошками», в плоском стиле, без необходимости в ранее популярном методе работы с фоновым изображением, называемом методом «раздвижных дверей».
«Хлебные крошки», которые мы создадим, стилизованы в форме шевронов, чтобы визуализировать идею структурированного содержимого. Раньше мы бы использовали фоновое изображение в формате PNG, чтобы создать эту форму шеврона, а теперь с помощью хитрой техники границ можно создать такой же эффект, используя только CSS.
Посмотреть пример «хлебных крошек»
<div> <ul> <li><a href="#">Breadcrumb</a></li> </ul> </div>
Мы начнем с создания ссылок навигации «хлебных крошек» как ненумерованного списка. Каждая «хлебная крошка» будет элементом <li> с установленным элементом якоря.
#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;
Этот дополнительный треугольник перед ссылкой влияет на внешний вид текста, но простая настройка внутреннего отступа быстро исправит положение.
<div> <ul> <li><a href="#1">One</a></li> <li><a href="#2">Two</a></li> <li><a href="#3">Three</a></li> <li><a href="#4">Four</a></li> <li><a href="#5">Five</a></li> </ul> </div>
По мере добавления ссылок в 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 для эффекта треугольника в состоянии, возникающем при наведении указателя мыши, чтобы вся «хлебная крошка» поменяла цвет.
Посмотреть пример ссылок «хлебных крошек»
Автор урока Chris Spooner
Перевод — Дежурка
Смотрите также:
Красивые хлебные крошки «breadcrumbs» на CSS3
Красивая и оригинальная подборка на хлебные крошки, что выполнены в плоском дизайне, с использованием CSS3, на разную палитру оттенков. Безусловно видимость навигаций, виде кнопок отлично помогает как пользователю сайта, так и гостям, это ориентироваться на интернет ресурсе, где можно переходить по ключевым фразам, что нам будут выводить. Но и под стилистику отлично подходит, все больше можно заметить, что некоторые устанавливают на модуль форума, не говоря о современном дизайне.Если у вас, как вы считаете много материала, то здесь рекомендовано подключить этот функционал. Стиль списка не будет, чтобы избежать черной точки списка или другого стиля, который по умолчанию. Так как он распределяет его по категориям и безусловно модулям, начиная с главной странице, и все это преподносится на стильном виде. В данном материале вы наблюдаете подборку, которая сделано по стилистике аналогично, это в плоском стиле.
Вот по форме они совершенно разные, что кому-то даже не нужно будет редактировать под свой дизайн, так как он отлично впишется в него. Теперь мы будем использовать код css, чтобы сделать привязку первого списка и установить привязку последнего ребенка, чтобы сделать его по умолчанию, чтобы tringle не появлялся в привязке первого ребенка для якоря слева и последнего ребенка для правой стороны.
Оформление хлебных крошек
1. В светло желтом оттенке:
2. Светлая палитра с зеленой гаммой:
3. В малиновом цвете
4. Выполнен в синей палитре:
Это будет простой прямой список с фоном и дополнением и некоторыми другими стилями. После этого я создам треугольную структуру в правой части каждого анкера списка, используя CSS, играя со свойствами broder.
Как можете видеть в demo версии, когда наводим на панировочные сундуки любой анкер списка, он дает эффект, что будет означать, посещен или находитесь в этом разделе.
Или мы можем представить его эффект, чтобы сделать его активным в качестве активных панировочных сухарей. Вы можете сказать эти панировочные сухари css только сухари, потому что я буду использовать только css и css3, чтобы сделать эти панировочные сухари.
Приступаем к установке:
HTML
Код
<div>
<ul>
<li><a href=»http://zornet.ru/load/svetlyj_shablon_livecoins_dlja_sajta_ucoz/142-1-0-8701″>№ 1</a></li>
<li><a href=»http://zornet.ru/load/shablon_shopgames_dlja_sajta_ucoz/142-1-0-8684″>№ 1</a></li>
<li><a href=»/»>№ 3</a></li>
<li><a href=»/»>№ 4</a></li>
<li><a href=»/»>№ 5</a></li>
</ul>
</div>
<div>
<ul>
<li><a href=»/»>Раздел 1</a></li>
<li><a href=»/»>Раздел 2</a></li>
<li><a href=»/»>Раздел 3</a></li>
<li><a href=»/»>Раздел 4</a></li>
<li><a href=»/»>Раздел 5</a></li>
</ul>
</div>
<div>
<ul>
<li><a href=»/»>ZOR 1</a></li>
<li><a href=»/»>ZOR 2</a></li>
<li><a href=»/»>ZOR 3</a></li>
<li><a href=»/»>ZOR 4</a></li>
<li><a href=»/»>ZOR 5</a></li>
</ul>
</div>
<div>
<ul>
<li><a href=»/»>Клик 1</a></li>
<li><a href=»/»>Клик 2</a></li>
<li><a href=»/»>Клик 3</a></li>
<li><a href=»/»>Клик 4</a></li>
<li><a href=»/»>Клик 5</a></li>
</ul>
</div>
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-top: 40px solid transparent;
border-bottom: 40px solid transparent;
border-left: 40px solid #ffd928;
position: absolute; right: -40px; top: 0;
z-index: 1;
}
#breadcrumb-isanchogives1 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-isanchogives1 ul li:first-child a {
border-top-left-radius: 10px; border-bottom-left-radius: 10px;
}
#breadcrumb-isanchogives1 ul li:first-child a:before {
display: none;
}
#breadcrumb-isanchogives1 ul li:last-child a {
padding-right: 80px;
border-top-right-radius: 10px; border-bottom-right-radius: 10px;
}
#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 {
border-top-left-radius: 0px; border-bottom-left-radius: 0px;
}
#breadcrumb-isanchogives2 ul li:last-child a {
padding-right: 80px;
border-top-right-radius: 0px; border-bottom-right-radius: 0px;
}
#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;
border-radius:0px 40px 40px 0px;
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 содержит идентификатор, каждый идентификатор будет содержать другой стиль в таблице стилей, чтобы представить отдельный дизайн. Где мы используем нумерацию, как один, два, три, четыре.
Эти идентификаторы имеют одинаковую внутреннюю структуру, разделенную разными стилями в соответствии с их идентификатором.
Демонстрация
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | .crumbs2 { display: block; margin-left: -13px; padding: 0; } .crumbs2 li { display: inline; } .crumbs2 li a, .crumbs2 li a:link, .crumbs2 li a:visited { color: #666; display: block; float: left; font-size: 12px; padding: 7px 16px 7px 19px; position: relative; text-decoration: none; border: 1px solid #d9d9d9; border-right-width: 0px; } .crumbs2 li a { background-image: -webkit-gradient(linear,left bottom,left top, color-stop(0.45, rgb(241,241,241)), color-stop(0.73, rgb(245,245,245))); background-image: -moz-linear-gradient( center bottom, rgb(241,241,241) 45%, rgb(245,245,245) 73%); /* IE 5.5 - 7 */ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#f1f1f1, endColorstr=#f5f5f5); /* IE 8 */ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f1f1f1, endColorstr=#f5f5f5)"; } .crumbs2 li.first a { border-top-left-radius: 5px; -moz-border-radius-topleft: 5px; - webkit-border-top-left-radius: 5px; } .crumbs2 li.last a { border-right-width: 1px; border-bottom-right-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; } .crumbs2 li a:hover { border-top-color: #c4c4c4; border-bottom-color: #c4c4c4; background-image: -webkit-gradient(linear,left bottom,left top, color-stop(0.45, rgb(241,241,241)), color-stop(0.73, rgb(248,248,248))); background-image: -moz-linear-gradient( center bottom, rgb(241,241,241) 45%, rgb(248,248,248) 73%); /* IE 5.5 - 7 */ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#f8f8f8, endColorstr=#f1f1f1); /* IE 8 */ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f8f8f8, endColorstr=#f1f1f1)"; color: #333; -moz-box-shadow: 0px 2px 2px #e8e8e8; -webkit-box-shadow: 0px 2px 2px #e8e8e8; box-shadow: 0px 2px 2px #e8e8e8; } .crumbs2 li a:active { border-top-color: #c4c4c4; border-bottom-color: #c4c4c4; background-image: -webkit-gradient(linear,left bottom,left top, color-stop(0.45, rgb(224,224,224)), color-stop(0.73, rgb(235,235,235))); background-image: -moz-linear-gradient( center bottom, rgb(224,224,224) 45%, rgb(235,235,235) 73%); /* IE 5.5 - 7 */ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ebebeb, endColorstr=#e0e0e0); /* IE 8 */ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ebebeb, endColorstr=#e0e0e0)"; color: #333; box-shadow: -1px 1px 1px 0px #dadada inset; -webkit-box-shadow: -1px 1px 1px 0px #dadada inset; -moz-box-shadow: -1px 1px 1px 0px #dadada inset; } |
Панировочных сухарей в веб-дизайне: применение и примеры
На сайтех с множеством навигационная цепочка ( навигационная цепочка) может значительно помочь посетителям ориентироваться в иерархической структуре документов и указать текущее местоположение пользователей на сайте. С точки зрения юзабилити, «хлебные крошки» могут сократить число действий посетителя, чтобы путь на верхний уровень страницы.
Что такое хлебные крошки?
Навигационная цепочка ( Навигационное меню , «Хлебные крошки» , англ. Панировочные сухари ) — элемент навигации по веб-сайту, представляющий собой путь по сайту от его «корня» до текущей страницы, на которой находится пользователь.
Название «Хлебные крошки» является иронической отсылкой к немецкой сказке «Гензель и Гретель», в которой дети, когда их завели в лес во второй раз, не смогли найти обратную дорогу, так как на этот раз вместо маленьких камешков они оставили за собой хлебные крошки, иметь склёванные лесными птицами.
Обычно вы можете просмотреть «хлебные крошки» на сайтех с большим количеством контента, который размещен в иерархическом.Самая простая форма, когда навигационная цепочка представлена в виде горизонтально текстовых ссылок и разделенных символов (> — «больше»), который указывает на уровень этой страницы относительно остальных страниц.
Когда нужно использовать панировочные сухари?
Используйте навигационную цепочку для веб-сайтов и веб-сайтов с организацией сайтов.
Не следует использовать «хлебные крошки» для одноуровневых сайтов, которые не имеют никакой логической иерархии или группировки.
Анализирует, позволяет ли использовать навигационную цепочку — построить карту сайта или схему, представляющую систему навигации сайта, а затем проанализировать, позволяет ли «хлебные крошки» упростить пользователю навигацию внутри категорий и между ними.
Иерархическую навигацию нужно рассматривать как дополнительную функцию, и она не должна заменять эффективное первичное меню навигации. Это вторичная схема навигации, что позволяет установить, где они находятся, и является альтернативным способом навигации по сайту.
Виды Панировочные сухари
Существуют три основного вида «хлебных крошек».
На основе местоположения
На основе поиска навигационные цепочки показываю пользователю, где он находится в иерархии сайта. Они обычно используются для навигационных структур, которые имеют несколько уровней (как правило, более чем в два уровня). В приведенном ниже примере (от SitePoint), каждая текстовая ссылка страницы, размещена левее, находится на одном уровне выше.
На основе свойств
«Хлебные крошки» на основе свойств отражают атрибуты характеристики страницы.
На основе пути
Они показывают путь, пользователь прошел на текущую страницу. Этот путь является динамическим, Одна и та же страница может иметь разные адреса.
Преимущества использования панировочных сухарей
Они могут помочь пользователю
«Хлебные крошки» используются в первую очередь, чтобы обеспечить пользователям дополнительные средства навигации по сайту.На больших многоуровневых веб-сайтах предлагая визуализацию пройденного пути, вы можете обеспечить пользователю достаточно легкий переход к категориям высшего уровня.
Снижает количество кликов или действий для возвращения на страницы более высокого уровня
Вместо использования кнопки «Назад» или первичной навигации веб-сайта, пользователи могут возвращаться к высшим категориям с помощью «хлебных крошек», используя при этом меньшее количество кликов.
Как правило, не засоряют экран
Они, как правило, занимают горизонтальную ориентацию и поэтому не занимают страницу много места.
Снижают показатель отказов
Навигационные цепочки могут побудить новых посетителей просмотреть остальные страницы веб-сайта. Например, пользователь переходит на страницу через поиск Google, видит категории, которые размещены выше и может заинтересоваться. Это, в свою очередь, снижает показатель отказов сайта.
Ошибки при использовании Breadcrumbs
Использовать «хлебные крошки» достаточно просто. Прежде, чем реализовывать их на сайте, нужно рассмотреть некоторые ошибки.
Использование навигационных цепочек, когда в этом нету необходимости
Распространенной ошибкой является использование «хлебных крошек», когда в этом нету никакой выгоды.
В примере выше мы можем использовать много вариантов навигации, которые размещены достаточно близко друг к другу: первичная навигация, «хлебные крошки» и вторичная навигация.
Использование «хлебных крошек» в качестве основной навигации
Как уже было принято раньше, «хлебные крошки» нужно использовать в качестве дополнительной помощи к навигации.
Использование «хлебных крошек», когда имеют страницы несколько категорий
Навигационные цепочкм имеют структуру, поэтому их трудно использовать, если ваши страницы не могут быть разделены на четкие категории.Решение о том, использовать ли «хлебные крошки» во многом зависит от того, как вы создали свой сайт иерархии. При низком уровне страницы использование «хлебных крошек» является неэффективным, неточным и запутанным для пользователя.
Не делайте на странице ссылку на эту же страницу (последний шаг в «хлебных крошках» должен быть без ссылок)
Дизайн «хлебных крошек»
При разработке цепочек навигации, могут некоторые вопросы. Например:
Какой символ нужно использовать для отделения ссылок?
Общепринятым и наиболее узнаваемым символом является разделение гиперссылок в «хлебных крошках» символ «больше, чем» — (>).
Также можно использовать кавычки, указывающие на правый угол (») и косую черту (/).
Выбор зависит от самого сайта и вида цепочки, который вы используете. Например, если ссылки в «хлебных крошках» не имеют иерархическое отношения друг к другу, использование символа «больше, чем>» может не иметь точно передать их суть.
Какими они должны быть?
Вы ведь не хотите, чтобы ваши «хлебные крошки» доминировали на странице.Их следует использовать в качестве дополнительной помощи для пользователей (для удобства), поэтому их размер тоже должен соответствовать и правильно донести до пользователей этой функции — они должны быть менее заметными, чем первичная навигация по меню.
Хорошим правилом определения размера пройденного пути является то, что она не должна быть первым , который привлекает внимание пользователя на странице.
Где должны быть расположены «хлебные крошки»?
«Хлебные крошки», как правило, выше верхней части страницы, под основным меню навигации., если используется горизонтальное меню.
Статистика
Ниже представлены собранные в мае 2002 года статистические данные о 75 сайтах-лидерах, занимающихся электронной коммерцией.
Ориентация цепочек
95% — горизонтальная
5% Вертикальная
Разделитель между элементами (для горизонтальных цепочек)
Примеры использования панировочных сухарей в веб-дизайне
Теперь, когда мы рассмотрели, кто, как, когда и зачем применяет «хлебные крошки», можно взглянуть на некоторые примеры использования их на веб-сайтах.
Классическое использование «хлебных крошек»
НАСА
Nestle
Маршан де Трюк
Мост 55
Overstock.com
TechRadar UK
Apple Store
Использование других символов
Б.П.
Martique
PSDTUTS
Мышь для Minx
Boden
Другие альтернативы
Колспоттер
Крэнфилд
Lonelyplanet
Booreiland
По материалам — Джейкоб Губе
Также примеры «хлебных крошек» можно посмотреть здесь:
Перевод — Дежурка
.Навигация хлебных крошек на основе изображений — Zencoder
В предыдущей статье «Навигация хлебных крошек с помощью треугольников на CSS» способ создания меню с помощью чистого CSS, без использования графики.
Метод всем хорош, за исключением одного — поддержка такого меню в старых браузерах сомнительна. Эта статья упоминается как способ создания навигации с помощью графики.
Статья написана достаточно давно, но метод абсолютно рабочий.Автор статьи Верле Питерс, сам пост называется «Простые масштабируемые хлебные крошки на основе CSS». Ниже привожу даже не вольный его перевод, а вольный пересказ.
Несколько дней назад у меня стояла задача создать навигационное меню в стиле «хлебные крошки» для сайта, над которым я работал. Это очень полезно и практично.
Это послужило поводом для меня написать статью для своего блога.Тот пример, я хочу поделиться с вами, является самым крупным, используемым одним графическим файлом. Остальная часть навигации создается с помощью CSS-кода.
Этот пример использования может быть расширен. Меню будет создаваться при помощи обычного маркированного списка .
Но сначала посмотрим на образец, с которым будем работать:
Меню достаточно простое, как и код, с помощью которого мы будем его создавать.
HTML код — маркированный список ул
- На главную
- Основной раздел
- Подраздел
- Подраздел
- Страница, на которой вы сейчас находитесь
Все пункты меню имеют ссылки, кроме последнего — «Страница, на которой вы сейчас находитесь» (Страница, на которой вы сейчас находитесь).При работе над меню я задавался вопросом — это список наиболее подходящей структурой для создания меню? Я полагаю, что это наиболее семантичный и правильный вариант.
CSS код — создаем стили для меню
Задаем общие стили для меню — убираем маркеры и обнуляем отступы в браузерах Firefox, IE:
ul, li {
тип-стиль-список: нет;
отступ: 0;
маржа: 0;
}
Далее для меню задаем класс с именем , устанавливаем границу толщиной в 1px и фиксированную ширину 30px:
.crumbs {
граница: 1px solid #dedede;
высота: 30 пикселей;
}
Все «крошки» должны располагаться горизонтально, в одну линию, поэтому элементы делают плавающими через свойство
. Текст меню должен быть отцентрирован точно по вертикали, для этого установить для него свойства
равной высоты всего меню —
.
Помещаем каждого слева от небольшого пространства для отступа с помощью . И задаем цвет текста
:
.crumbs li {
плыть налево;
высота строки: 30 пикселей;
отступ слева: 10 пикселей;
цвет: # 777;
}
Необходимо, чтобы вся область меню была кликабельной, поэтому делаем ее блочным элементом . Далее помещаем для ссылок фоновое изображение, вырезанное из макета. Для этого нужно вырезать только саму «стрелку»:
… которую «задвигаем» вправо (100%) и размещаем точно по вертикали (50%). Также делаем у ссылки справа , в котором будет как раз и находиться фоновое изображение (вырезанная стрелка):
.crumbs li a {
дисплей: блок;
отступ: 0 15px 0 0;
фон: url (img / crumbs.gif) 100% 50% без повтора;
}
Уже практически все сделано. Осталось задать стили для текста ссылок. Уберем стандартное выделение и изменение ее цвет:
.crumbs li a: link, .crumbs li a: visit {
текстовое оформление: нет;
цвет: # 777;
}
Придадим ссылкам небольшую анимацию с помощью псевдо-класса и
. При наведении курсора мыши или получение фокуса с клавиатуры цвет текста ссылки будет меняться:
.crumbs li a: hover, .crumbs li a: focus {
цвет: # dd2c0d;
}
Результат нашей работы представлен здесь:
Примечание переводчика:
Автор максимально упростил пример и сам соответственно, насколько я понимаю. Дело в том, что на примере хорошо виден линейный горизонтальный градиент для каждого из пунктов меню. Однако в коде это никак отображено не было. Ну, не беда — разве это проблема создать линейный градиент на CSS3? Сама задача ведь выполнена!
На этом все.
панировочных сухарей .
Как сделать хлебные крошки для WordPress
Для тех, кто не знает, хлебные крошки — это способ навигации, который показывает ваше текущее расположение на сайте (кстати, они используются не только на сайтех) и путь, по которому к нему можно попасть, начиная с главной страницы.
Для того, чтобы добавить хлебные крошки на сайт на WordPress, вам не нужен специальный плагин «хлебные крошки», не нужно самому долго и мучительно придумывать как «сделать» хлебные крошки на сайте, не нужно долго мучить поисковики различными мудрёными фразами, а достаточно скопировать и вставить эту строчку в то место в шаблоне, куда вам нужно.
Php the_breadcrumb ()?>
Теперь распишем саму функцию, сразу говорю, готовьтесь, что будет много кода.
Дело в том, что я выкладываю полностью законченный и 100% рабочий вариант. Здесь учтены все типы страниц, которые могут быть на WordPress: посты, страницы, вложенные (архив любого количества уровней вложенности), рубрики, подрубрики (неограниченное количество вложений), теги, ы, поиск страницы страницы с записью какого-либо одного автора.
Также отображается номер текущей страницы, что тоже довольно полезно.
сначала начнём с относительно несложного варианта хлебных крошек, и чуть ниже в этом же уроке я вам расскажу, как их модифицировать под какую-то свою определенную задачу. Для начала добавить код functions.php
:
function the_breadcrumb () { // получаем номер текущей страницы $ pageNum = (get_query_var ('paged'))? get_query_var ('paged'): 1; $ separator = '& raquo; '; // » // если главная страница сайта if (is_front_page ()) { if ($ pageNum> 1) { echo ' Главная '. $ Separator. $ PageNum. '-Я страница'; } else { echo 'Вы находитесь на главной странице'; } } else {// не главная echo ' Главная '. разделитель $; if (is_single ()) {// записи the_category (','); echo $ separator; the_title (); } elseif (is_page ()) {// страницы WordPress the_title (); } elseif (is_category ()) { single_cat_title (); } elseif (is_tag ()) { single_tag_title (); } elseif (is_day ()) {// архивы (по дням) echo ''. get_the_time ('Y'). ''. $ separator; echo ''. get_the_time ('F'). "". разделитель $; эхо get_the_time ('д'); } elseif (is_month ()) {// архивы (по месяцам) echo ''. get_the_time ('Y'). "". разделитель $; эхо get_the_time ('F'); } elseif (is_year ()) {// архивы (по годам) эхо get_the_time ('Y'); } elseif (is_author ()) {// архивы по авторам global $ author; $ userdata = get_userdata ($ author); echo «Опубликовал (а)».$ userdata-> display_name; } elseif (is_404 ()) {// если страницы не существует echo 'Ошибка 404'; } if ($ pageNum> 1) {// номер текущей страницы echo '('. $ pageNum. '-я страница)'; } } }
-
4
— при помощи get_query_var () мы платим, находимся ли мы на странице постраничной навигации, знаю, что это можно сделать при помощи is_paged (), но нам же ведь ещё и номер страницы понадобится. -
6
— разделитесь между ссылками в хлебных я решил записать в переменную, вы можете использовать что угодно, например стрелки →→
, запись его в переменную позволит нам быстро его поменять, если захотим. -
9
— функция, точнее условный тег is_front_page () возвращаетtrue
, если мы находимся на главной странице, вне зависимости от той, какую роль она выполняет. -
12
,19
— функция site_url () динамически возвращает ссылку на главную страницу сайта. - is_single (), is_page (), is_category (), is_tag (), is_day (), is_month (), is_year (), is_author (), is_404 () — различные условные теги, позволяющие легко определить, на каком типе страницы мы в данный момент находимся.
-
25
— я использовал функцию the_category (), для вывода списка рубрик для текущей записи через запятую. Обратите внимание, что эта функция не распределяет рубрики в зависимости от их иерархии. О том, как вывести их с соблюдением порядка иерархии, читайте ниже. -
25
,29
— функция the_title () отлично подходит для того, чтобы вывести заголовок текущей записи, страницы или записи произвольного типа. - single_cat_title () и single_tag_title () — для вывода названия текущих рубрики или метки соответственно.
Как в хлебные крошки добавить родительские страницы?
Возможно вы заметили, что Страницы WordPress — это иерархичный тип записи, другими словами — Страница может иметь дочерние страницы, причем несколько штук и нескольких уровней.
Это можно хорошо вести в метабоксе Атрибуты страницы:
Если вы планируете разместить в своих хлебных крошках родительские страницы тоже, то вам нужно немного модифицировать соответствующие строчки в коде выше:
глобальный пост; // если у текущей страницы существует родительская if ($ post-> post_parent) { $ parent_id = $ post-> post_parent; // присвоим в переменную $ панировочные сухари = массив (); while ($ parent_id) { $ page = get_page ($ parent_id); $ breadcrumbs [] = ''. get_the_title ($ page-> ID). ''; $ parent_id = $ page-> post_parent; } эхо-соединение ($ separator, array_reverse ($ breadcrumbs)). разделитель $; }
То есть вставляете этот код на 27-й строчке ничего не удаляя из первоначального кода.
Как предполагать родительские рубрики?
В архивах рубрик
Тут ситуация похожа на ситуацию со страницей, но проще, так как существует функция get_category_parents ().
$ current_cat = получить_queried_object (); // если родительская рубрика существует if ($ current_cat-> parent) { echo get_category_parents ($ current_cat-> parent, true, $ separator). разделитель $; }
На страницах записей
Как я уже написал выше, наша функция the_category () не справляется с тем, чтобы вывести рубрики с учетом их иерархичности. Давайте попробуем разобраться, что с этим можно поделать.
Тут есть некоторые тонкости, но смотрите, есть очень классный способ, как можно это всё разрулить!
Прежде всего, обратите внимание, как вы добавляете пост в категории.
Нам подходит:
Не подходит:
После этого можно спокойно использовать функцию get_category_parents ():
$ post_categories = get_the_category (); // это и будет наша единственная рубрика, присвоенная к посту if (! empty ($ post_categories [0] -> cat_ID)) { echo get_category_parents ($ post_categories [0] -> cat_ID, true, $ separator). разделитель $; } the_title ();
Что делать с произвольными типами постов и таксономиями?
На самом деле тут всё максимально максимально на код, который мы использовали для рубрик / меток и записей / страниц.
Хлебные крошки для архивов таксономии
Если без иерархии:
if (is_tax ($ taxonomy_name)) { single_term_title (); }
С иерархией:
if (is_tax ($ taxonomy_name)) { $ current_term = get_queried_object (); // если существует родительский элемент таксономии if ($ current_term-> parent) { echo get_term_parents_list ($ current_term-> parent, $ taxonomy_name, array ('separator' => $ separator)). разделитель $; } single_term_title (); }
Хлебные крошки для произвольного типа постов
Если мы вообще не хотим отображать никаких таксономий, то наш пример становится очень похож на пример с обычными Страницами:
if (is_singular ($ post_type_name)) { the_title (); }
В случае, если нам нужно добавить какую-то произвольную таксономию:
if (is_singular ($ post_type_name)) { $ post_terms = get_the_terms (get_the_ID (), $ taxonomy_name); if (! empty ($ post_terms [0] -> term_id)) { echo get_term_parents_list ($ post_terms-> term_id, $ taxonomy_name, array ('separator' => $ separator)).разделитель $; } the_title (); }
Кстати, видел на блогах функцию хлебных крошек длиной в 5-10 строк 🙂 Люди копипастят даже не задумываясь, понятно, что у них очень урезанные варианты.
Миша
В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия — распространению WordPress. Ведь WordPress — это лучший движок для разработки сайтов — как тех, кто готов использовать конструкцию для этой CMS, кто предпочитает решения без головы.
Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.
Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.
.Микроразметка хлебных крошек, схема организации, хлебные крошки
В этой статье расскажем о навигации на сайте в виде хлебных крошек, и как внедрить элемент в этот микроразметку.
Что такое хлебные крошки?
Хлебные крошки — это последовательность ссылок, отражающая иерархия сайта и указывающая позиция текущей страницы в структуре сайта. Как правило, этот блок сообщений вверху страницы.
Например, их часто используют в интернет-магазинах в виде:
Главная — Каталог — Смартфоны — Смартфоны Samsung — Смартфон Samsung Galaxy M20
В этом примере пользователь находится на странице конкретного товара, но всегда может перейти по активным ссылкам на один или несколько уровней иерархии вверх.Название взято из сказкиев Гримм, где дети братья заблудились, птицы склевали, хлебные крошки, они размечали свой путь. Чтобы пользователи не заблудились на вашем сайте, и следует использовать эту технологию.
Хлебные крошки не только удобны, но и помогает поисковой оптимизации сайта:
- улучшает поведенческие факторы, когда пользователь делает больше переходов внутри ресурса;
- способствуют правильной внутренней перелинковке сайта;
- представление сайта в поисковой выдаче.
Вот на последний пункт мы и обратим особое внимание в статье.
Зачем нужна разметка ХБ?
помочь поисковым системам улучшить вид сайта в выдаче, а также найти уязвимые сайты и нужна разметка хлебных крошек. Она решает следующие задачи:
- в поисковой выдаче улучшается сниппет сайта, показывается не просто адрес страницы, а цепочка иерархических ссылок, улучшает кликабельность;
- поисковая система правильно определяет иерархию ресурса и лучше понимает его структуру;
- ускоряется индексция сайта;
- предотвращает определение поисковиком страницы спамной, так как часто слова в хлебных крошках совпадают с соглашением, что это просто перечисление ключей.
Google понимает несколько форматов микроразметки. Яндекс пока не поддерживает разметку хлебных крошек, но ее наличие все равно благотворно сказывается на ранжировании.
Как сделать микроразметку ХБ?
Существует три основных формата разметки:
- микроданные;
- RDFA;
- JSON-LD.
Широкое распространение получили первые два типа микроразметки. Рассмотрим, как их применить на практике.
Разметка с микроданными
При разметке с микроданными можно использовать словарь schema.org или Data Vocabulary. Рассмотрим пример использования более современного schema.org.
Возьмем такую «хлебную» цепочку:
Главная — Смартфоны Samsung — Samsung Galaxy M20
Вот как выглядит код хлебных крошек (панировочных сухарей) на сайте instanceplеcrosh.com
А дальше уже хлебные крошки с микроразметкой.
1 2 3 4 5 6 7 8 9 10 11 12 13 140002 14 18 19 20 |
В первой строчке указываем поисковикам, что у нас разметка schema.org. Здесь:
- Itemscope — указывает на то, что блок задает элемент;
- Тип позиции — тип элемента, здесь навигационный;
- BreadcrumbList — список пунктов в хлебных крошках.
Параметр itemprop, которому присваивается «itemListElement», означает, что перед нами пункт списка элементов.
Разметка с RDFA
Возьмем цепочку:
Главная — Смартфоны Samsung — Samsung Galaxy M20
Здесь разметка выглядит следующим образом.
- атрибут xmlns: v = ”http: // rdf.data-vocabulary.org/# дает понять поисковику, что он имеет дело с разметкой RDF;
- все области крошек заключены в тег span с атрибутом typeof = ”v: Breadcrumb”;
- атрибут rel = ”v: url” прописывает ссылку пункта;
- атрибут property = ”v: title” прописывает наименование товара.
Особенности микроразметки
Следует обязательно проверить микроразметку на правильность. Проверка соответствует на соответствующем сервисе Гугл:
https: // поиск.google.com/structured-data/testing-tool
Здесь нужно ввести адреса всех страниц сайта, где есть хлебные крошки второго и всех уровней иерархии.
Для использования разметки хлебных крошек в CMS можно использовать специальные плагины или написать самостоятельно функцию функции. Например, для WordPress используют популярный плагин Breadcrumb NavXT. Такая функция есть также в пакете WordPress SEO от Yoast.
Микроразметка хлебных крошек — простой и эффективный механизм улучшения сайта.Затратив небольшие усилия можно получить красивый информативный сниппет и признание пользователей и поисковых машин.
.