Сайт о телевидении

Сайт о телевидении

» » Bootstrap - Хлебные крошки. Красивые хлебные крошки "breadcrumbs" на CSS Хлебные крошки стилизация

Bootstrap - Хлебные крошки. Красивые хлебные крошки "breadcrumbs" на CSS Хлебные крошки стилизация

За последнее время CSS и CSS3 сильно продвинулись вперед и поэтому старые стили, которые используют картинки на заднем фоне для получения нужной фигуры — больше не требуются.

В этой статье я расскажу как сделать хлебные крошки на сайте с помощь HTML и CSS в стиле flat. Так же можете посмотреть интересные сайтов, может что-нибудь пригодиться. Я недавно делал подборку.

В конце мы получим вот такой результат:

Ранее, для того чтобы сделать прозрачную стрелки между двумя блоками использовалась прозрачная картинка на заднем фоне. Теперь данная проблема может быть решена используя только CSS.

1. Каркас крошек

  • Breadcrumb

Для начала создадим маркированный список —

    , в котором будут
  • элементы. Хлебная крошка будет добавляться с помощью добавления нового
  • .

    2. Добавляем CSS

    Теперь напишем 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; }

    Данные стили добавляют:

    1. вид для ссылки в виде блока и синий цвет
    2. центрируют текст и делаем его белым
    3. ровный padding , чтобы блок отображался корректно по вертикали
    4. сбрасывает иные стили для ссылок с text-decoration: none

    Внимание: position: relative добавлен для того, чтобы позже сдерживать все внутренние блоки с position: absolute.

    3. Создаем эффект стрелки

    #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 для ссылок , чтобы удержать absolute свойство внутри ссылки и манипулировать им как нам хочется.

    Вид стрелки будет сделан с помощью использования border’ов. В примере специально использован красный цвет, но чтобы придать вид треугольника будет использоваться transparent . Далее border будет пододвинут на месте с использование position: absolute .

    4. Добавляем прозрачность с border

    Меняем red в border на transparent , чтобы создать эффект прозрачности.

    Border-top: 40px solid transparent; border-bottom: 40px solid transparent; border-left: 40px solid #3498db;

    5. Добавляем стрелку сзади

    #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;

    5. Добавляем новые элементы

    Добавляя новые

  • увеличивают глубину хлебной крошки.

    • Один
    • Два
    • Три
    • Четыре
    • Пять

    6. Первый и последний
  • Чтобы создать эффект закругления для первого и последнего элемента в хлебной крошки мы будем использовать :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; }

    7. Добавляем hover эффект

    #crumbs ul li a:hover { background: #fa5ba5; } #crumbs ul li a:hover:after { border-left-color: #fa5ba5; }

    Так же не забудьте добавить border-radius при наведении на первый и последний элемент в хлебной крошке.

    На этом все. Если у вас есть какие-то вопросы — пишите комментарии и поделитесь статьей, если вам понравилось!

    Как сделать хлебные крошки на сайте с помощью CSS от bologer

    Приветствую вас. Хлебные крошки — это достаточно полезный блок на любом сайте, потому что он позволяет вам видеть полный путь к странице, на которой вы сейчас. И сегодня я вам расскажу, как оформить в css хлебные крошки? Не создать, а именно оформить. Вообще вариантов много, я затрону два.

    Простой вариант оформления — без картинки

    HTml-код имитирует хлебные крошки. Пусть он будет таким:

    В принципе, можно просто проставить угловую скобку, но тогда не будет возможности управлять толщиной линии. Я предлагаю сделать по-другому, с помощью трансформаций. Вот такой код это сделает:

    Cumbs1 a:not(:last-child):after{
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-top: 2px solid black;
    border-right: 2px solid black;
    transform: rotate(45deg);
    margin-left: 5px
    }
    .cumbs1 a:hover{
    color: orange;
    }

    Возможно, для вас это будут сложноватые селекторы, тогда ознакомьтесь с этой статьей . Суть такова: с помощью псевдоэлемента (о том, что это и как использовать — ) after добавляет в конец каждой ссылки наш разделитель. Он формируется с помощью двух рамок и поворота на 45 градусов. Также добавляем оранжевый цвет ссылкам по наведению. Вот, в принципе, и все оформление.

    Другой вариант оформления — с картинкой

    В этом случае хлебные крошки будут выглядеть интереснее, вот так:

    Для этого нам понадобится картинка и немного стилей в css:

    Cumbs2{
    background: orange;
    max-width: 250px;
    }
    .cumbs2 a{
    display: inline-block;
    padding: 7px 0;
    color: #000;
    }
    .cumbs2 a:not(:last-child){
    background: url(arrow.png) no-repeat 100% 50%;
    padding-right: 33px;
    }

    Html код я не привожу, потому что он такой же, как в первом случае. С чего тут начать? Во-первых, определяем фоновый цвет и размеры всего блока с хлебными крошками. Далее устанавливаем общие стили для ссылок — блочно-строчный тип, отступы сверху и внизу и цвет.

    Следующий этап самый интересный — с помощью псевдокласса not выбираем все ссылки в блоке, кроме последней, и ставим для них фоновое изображение arrow.png , без повторения, с позицией фона посередине по высоте и в самом конце по ширине одной ссылки. Внутренний отступ справа первым двум ссылкам нужен как раз для того, чтобы разместить там картинку. Если бы его не было, картинка бы наезжала на текст.

    Как работает псевдокласс not, я думаю, вы уже догадались — он выбирает все элементы, кроме того, что указывается в скобках. Если что, в будущем я напишу еще небольшую заметку о работе с псевдоклассом:not , где все будет более понятно. Что ж, вот такие 2 простых варианта оформления хлебных крошек, на основе которых вы можете сделать свой собственный.

    Благодаря развитию 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 для эффекта треугольника в состоянии, возникающем при наведении указателя мыши, чтобы вся «хлебная крошка» поменяла цвет.

    Перевод — Дежурка

    В предыдущей статье “Навигация breadcrumbs с помощью треугольников на CSS” описывался способ создания меню с помощью чистого CSS, без использования графики.

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

    Статья написана достаточно давно, но метод абсолютно рабочий. Автор статьи Veerle Pieters, а сам пост называется “Simple scalable CSS based breadcrumbs”. Ниже привожу даже не вольный его перевод, а вольный пересказ.

    Несколько дней назад у меня стояла задача создать навигационное меню в стиле “хлебные крошки” (breadcrumbs) для сайта, над которым я работал. Я не думаю, что такое меню необходимо для каждого сайта, но в некоторых случаях оно очень полезно и практично.

    Однако этот пример является как бы основой, которую можно расширять и применять на практике. Меню будет создаваться при помощи обычного маркированного списка

    1 ul
    .

    Но сначала посмотрим на образец, с которым будем работать:

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

    HTML код - маркированный список ul

    Все пункты меню имеют ссылки, кроме последнего - “The page you are on right now” (Страница, на которой вы сейчас находитесь). При работе над меню я задавался вопросом - является ли список наиболее подходящей структурой для создания меню? Я полагаю, что применение списка в этом случае не является строгим правилом, но мне кажется - это наиболее семантичный и правильный вариант.

    CSS код - создаем стили для меню

    Задаем общие стили для меню - убираем маркеры и обнуляем отступы в браузерах Firefox, IE:

    делаем плавающими через свойство равное высоте всего меню - . И задаем цвет текста . Далее помещаем для ссылки фоновое изображение, вырезанное из макета. Для этого нужно вырезать только саму “стрелку”:

    … которую “задвигаем” вправо (100%) и размещаем точно по вертикали (50%). Также делаем у ссылки отступ справа

    1 padding-left: 15px
    , в котором будет как раз и находиться фоновое изображение (вырезанная стрелка): .crumbs li a { display : block ; padding : 0 15px 0 0 ; background : url(img/crumbs.gif) 100% 50% no-repeat ; }

    Уже практически все сделано. Осталось задать стили для текста ссылок. Уберем стандартное подчеркивание и изменим ее цвет:

    .crumbs li a :link , .crumbs li a :visited { text-decoration : none ; color : #777 ; }
    1 :hover
    и
    1 :focus
    . При наведении курсора мыши или получения фокуса с клавиатуры цвет текста ссылки будет меняться: .crumbs li a :hover , .crumbs li a :focus { color : #dd2c0d ; }

    Результат нашей работы представлен здесь:

    Примечание переводчика:

    Автор статьи максимально упростил пример и сам код соответственно, насколько я понимаю. Дело в том, что на примере хорошо виден линейный горизонтальный градиент для каждого из пунктов меню. Однако в коде это никак отображено не было. Ну, не беда - разве это проблема создать линейный градиент на CSS3? Сама задача ведь выполнена!

    C ollection of free HTML and CSS breadcrumb navigation code examples: simple, responsive, multiline, collapsed , etc. Update of February 2018 collection. 3 new items.

    Related Articles


    About the code

    Simple CSS .


    About the code

    Feel free to customize it to your own way. Colors, sizes, shadows, borders, etc. Made with Bootstrap .


    About the code

    Breadcrumbs with "Smart" Ellipsis (Flex)

    Play with the browser size to see how the behave when there"s no room left for them.


    About the code

    This example shows what happens as a user gets closer to the back button. The breadcrumbs expand and allow the user to navigate to almost anywhere else in the course while only having minimal impact on space.

    Breadcrumbs with CSS custom properties as API.
    Made by Stas Melnikov
    June 15, 2017

    Adaptive multi-line pure CSS breadcrumb arrows.
    Made by Glynn Smith
    May 30, 2017

    Demo GIF: Breadcrumbs

    HTML and CSS breadcrumbs.
    Made by Dany Santos
    July 15, 2016

    Material Design breadcrumb, progress tracker.
    Made by Shyam Chen
    July 30, 2015

    A list of breadcrumbs collapsed down to show only preview text for all but the current page, with full text shown on hover/focus.
    Made by Skye
    March 4, 2015

    Pure CSS responsive breadcrumbs.
    Made by Oliver Knoblich
    April 2, 2014