Table of Contents
HTML
CSS
Home Web Front-end HTML Tutorial CSS3面包屑导航和多步骤指示_html/css_WEB-ITnose

CSS3面包屑导航和多步骤指示_html/css_WEB-ITnose

Jun 21, 2016 am 08:58 AM

面包屑是用来做当前页面所在的站点位置的导航作用,它一层层的表示站点分类或目录层级关系,而多步骤指示经常用在一些分步流程向导的应用,如分步注册向导,货物订购流程。今天我们来用CSS制作面包屑和多步骤指示的应用。

查看演示 下载源码

HTML

HTML结构非常简单,一个有序列表ol,外面又

面包屑导航条的结构,我们给ol加上class样式为:.cd-breadcrumb,那么当前位置的层级li加上class样式为:.current。

<nav>	<ol class="cd-breadcrumb">		<li><a href="#0">首页</a></li>		<li><a href="#0">开发</a></li>		<li><a href="#0">Web</a></li>		<li class="current"><em>技术热点</em></li>	</ol></nav>
Copy after login

多步骤指示的结构,我们给ol加上class样式为:.cd-multi-steps,已完成的步骤的li加上class样式:.visited,当前步骤li加上class样式:.current。

<nav>	<ol class="cd-multi-steps text-center">		<li class="visited"><a href="#0">购物车</a></li>		<li class="visited" ><a href="#0">结算付款</a></li>		<li class="current"><em>送货</em></li>		<li><em>验货收货</em></li>	</ol></nav>
Copy after login

CSS

首先,我们使用::after伪元素来创建分隔符元素,就是层级之间的分割。

.cd-breadcrumb li::after, .cd-multi-steps li::after {  display: inline-block;  content: '\00bb';  margin: 0 .6em;  color: #959fa5;}
Copy after login

如果我们需要使用自定义的分隔符,可以自定义样式 .custom-separator,并将样式添加到

    元素上,例如:

    <nav>	<ol class="cd-breadcrumb custom-separator">		<li><a href="#0">首页</a></li>		<li><a href="#0">开发</a></li>		<li><a href="#0">Web</a></li>		<li class="current"><em>技术热点</em></li>	</ol></nav>
    Copy after login

    完了分隔符的样式.custom-separator这样写:

    .cd-breadcrumb.custom-separator li::after, .cd-multi-steps.custom-separator li::after {  /* replace the default separator with a custom icon */  content: '';  height: 16px;  width: 16px;  background: url(../img/cd-custom-separator.svg) no-repeat center center;  vertical-align: middle;}
    Copy after login

    如果你像给面包屑导航和分步骤指示加上小图标,可以这些写样式,本例中我们使用svg文件来作图标处理。

    .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;}
    Copy after login

    当然,我们也可以将三角形箭头设置成分隔符,代码如下:

    .cd-breadcrumb.triangle li::after,   .cd-breadcrumb.triangle li > *::after {    /*     	li > *::after is the colored triangle after each item    	li::after is the white separator between two items    */    content: '';    position: absolute;    top: 0;    left: 100%;    content: '';    height: 0;    width: 0;    /* 48px is the height of the <a> element */    border: 24px solid transparent;    border-right-width: 0;    border-left-width: 20px;  }  .cd-breadcrumb.triangle li::after {    /* this is the white separator between two items */    z-index: 1;    -webkit-transform: translateX(4px);    -moz-transform: translateX(4px);    -ms-transform: translateX(4px);    -o-transform: translateX(4px);    transform: translateX(4px);    border-left-color: #ffffff;    /* reset style */    margin: 0;  }  .cd-breadcrumb.triangle li > *::after {    /* this is the colored triangle after each element */    z-index: 2;    border-left-color: inherit;  }  .cd-breadcrumb.triangle li:last-of-type::after,   .cd-breadcrumb.triangle li:last-of-type > *::after {    /* hide the triangle after the last step */    display: none;  }
    Copy after login

    对于分步骤指示我们还可以添加class如:.text-center, .text-top和 .text-bottom来让文字的位置对齐,还可以添加class如count用来标记步骤数,如以下代码:

    <nav>	<ol class="cd-multi-steps text-bottom count">		<li class="visited"><a href="#0">购物车</a></li>		<li class="visited" ><a href="#0">结算付款</a></li>		<li class="current"><em>送货</em></li>		<li><em>验货收货</em></li>	</ol></nav>
    Copy after login

    各种添加的样式具体可以看演示demo,我们的demo中给出9种不同的示例,查看页面源代码你就会有收获。

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Difficulty in updating caching of official account web pages: How to avoid the old cache affecting the user experience after version update? Difficulty in updating caching of official account web pages: How to avoid the old cache affecting the user experience after version update? Mar 04, 2025 pm 12:32 PM

The official account web page update cache, this thing is simple and simple, and it is complicated enough to drink a pot of it. You worked hard to update the official account article, but the user still opened the old version. Who can bear the taste? In this article, let’s take a look at the twists and turns behind this and how to solve this problem gracefully. After reading it, you can easily deal with various caching problems, allowing your users to always experience the freshest content. Let’s talk about the basics first. To put it bluntly, in order to improve access speed, the browser or server stores some static resources (such as pictures, CSS, JS) or page content. Next time you access it, you can directly retrieve it from the cache without having to download it again, and it is naturally fast. But this thing is also a double-edged sword. The new version is online,

How do I use HTML5 form validation attributes to validate user input? How do I use HTML5 form validation attributes to validate user input? Mar 17, 2025 pm 12:27 PM

The article discusses using HTML5 form validation attributes like required, pattern, min, max, and length limits to validate user input directly in the browser.

How to efficiently add stroke effects to PNG images on web pages? How to efficiently add stroke effects to PNG images on web pages? Mar 04, 2025 pm 02:39 PM

This article demonstrates efficient PNG border addition to webpages using CSS. It argues that CSS offers superior performance compared to JavaScript or libraries, detailing how to adjust border width, style, and color for subtle or prominent effect

What are the best practices for cross-browser compatibility in HTML5? What are the best practices for cross-browser compatibility in HTML5? Mar 17, 2025 pm 12:20 PM

Article discusses best practices for ensuring HTML5 cross-browser compatibility, focusing on feature detection, progressive enhancement, and testing methods.

What is the purpose of the <datalist> element? What is the purpose of the <datalist> element? Mar 21, 2025 pm 12:33 PM

The article discusses the HTML &lt;datalist&gt; element, which enhances forms by providing autocomplete suggestions, improving user experience and reducing errors.Character count: 159

What is the purpose of the <progress> element? What is the purpose of the <progress> element? Mar 21, 2025 pm 12:34 PM

The article discusses the HTML &lt;progress&gt; element, its purpose, styling, and differences from the &lt;meter&gt; element. The main focus is on using &lt;progress&gt; for task completion and &lt;meter&gt; for stati

How do I use the HTML5 <time> element to represent dates and times semantically? How do I use the HTML5 <time> element to represent dates and times semantically? Mar 12, 2025 pm 04:05 PM

This article explains the HTML5 &lt;time&gt; element for semantic date/time representation. It emphasizes the importance of the datetime attribute for machine readability (ISO 8601 format) alongside human-readable text, boosting accessibilit

What is the purpose of the <meter> element? What is the purpose of the <meter> element? Mar 21, 2025 pm 12:35 PM

The article discusses the HTML &lt;meter&gt; element, used for displaying scalar or fractional values within a range, and its common applications in web development. It differentiates &lt;meter&gt; from &lt;progress&gt; and ex

See all articles