目錄
HTML
CSS
首頁 web前端 html教學 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>
登入後複製

多步骤指示的结构,我们给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>
登入後複製

CSS

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

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

如果我们需要使用自定义的分隔符,可以自定义样式 .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>
    登入後複製

    完了分隔符的样式.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;}
    登入後複製

    如果你像给面包屑导航和分步骤指示加上小图标,可以这些写样式,本例中我们使用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;}
    登入後複製

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

    .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;  }
    登入後複製

    对于分步骤指示我们还可以添加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>
    登入後複製

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

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗? 公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗? Mar 04, 2025 pm 12:32 PM

公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?

如何使用HTML5表單驗證屬性來驗證用戶輸入? 如何使用HTML5表單驗證屬性來驗證用戶輸入? Mar 17, 2025 pm 12:27 PM

如何使用HTML5表單驗證屬性來驗證用戶輸入?

如何高效地在網頁中為PNG圖片添加描邊效果? 如何高效地在網頁中為PNG圖片添加描邊效果? Mar 04, 2025 pm 02:39 PM

如何高效地在網頁中為PNG圖片添加描邊效果?

HTML5中跨瀏覽器兼容性的最佳實踐是什麼? HTML5中跨瀏覽器兼容性的最佳實踐是什麼? Mar 17, 2025 pm 12:20 PM

HTML5中跨瀏覽器兼容性的最佳實踐是什麼?

&lt; datalist&gt;的目的是什麼。 元素? &lt; datalist&gt;的目的是什麼。 元素? Mar 21, 2025 pm 12:33 PM

&lt; datalist&gt;的目的是什麼。 元素?

我如何使用html5&lt; time&gt; 元素以語義表示日期和時間? 我如何使用html5&lt; time&gt; 元素以語義表示日期和時間? Mar 12, 2025 pm 04:05 PM

我如何使用html5&lt; time&gt; 元素以語義表示日期和時間?

&gt; gt;的目的是什麼 元素? &gt; gt;的目的是什麼 元素? Mar 21, 2025 pm 12:34 PM

&gt; gt;的目的是什麼 元素?

&lt; meter&gt;的目的是什麼。 元素? &lt; meter&gt;的目的是什麼。 元素? Mar 21, 2025 pm 12:35 PM

&lt; meter&gt;的目的是什麼。 元素?

See all articles