CSS3面包屑导航和多步骤向导效果

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


HTML结构非常简单,一个有序列表ol,外面又<nav>包裹。
面包屑导航条的结构,我们给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,并将样式添加到<ol>元素上,例如:
<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种不同的示例,查看页面源代码你就会有收获

时间: 2025-01-21 09:46:03

CSS3面包屑导航和多步骤向导效果的相关文章

php实现面包屑导航例子分享_php实例

本实例讲解了php实现面包屑导航的方法,面包屑导航在项目非常实用,在此处就写一个这方面的实现. path表示所有的祖先id,fullpath表示所有的祖先id和本身id -- -- 表的结构 `tp_likecate` -- CREATE TABLE IF NOT EXISTS `tp_likecate` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `catename` varchar(24) NOT NULL, `path` varchar

CSS 面包屑导航栏2个例子

  方法一, 说明:本方法使用CSS3,无图片,兼容各种webkit系浏览器,同时兼容IE8+.先上图: 1.首先是HTML代码,比较简单,只需要一个简单的ul和li即可  代码如下   <div id="crumbs"> <ul>  <li><a href="#">首页</a></li>  <li><a href="#">目录</a>&l

从头带你认识面包屑导航的前世今生!

  面包屑导航,一个曾经风靡武林,不经意间已默默无闻的古老控件.很多交互设计师在刚听闻它大名的时候,它就隐退江湖了.不过,在某些类型的网站上,它还是必不可少的导航方式.今天美团网的交互设计师@德川亮 特意重新梳理资料,从头开始带你认识面包屑导航的前世今生. 什么是面包屑导航 网页上让用户感知当前页面所在的层级位置,或者是产品的属性之间的关系的控件.面包屑的一般样式是用链接文字加上">",横向排布 ,也有一些其他的样式. 这里用到了"感知",就是说面包屑导航不会

网站的主导航与面包屑导航

在很多大厦或是大型超市的入口处一般都会树立路牌之类的标识来为用户指明方向,而进入到内部后则会有另外更详细的导航指示.这两者之间的关系就像是网站的主导航与面包屑导航一样,前者为用户做一个大概的结构介绍,而后者则是在大架构之后的细节延伸. 面包屑导航可以很清晰的标明用户当前所处的位置以及可供返回的链接,这在很大程度上解决了用户在网站里迷失的问题.用户从庞杂的入口到最终的目的地,面包屑导航是按一种递减的结构来呈现的. 然而这种递减的结构的最上级应不应该包括"首页"这个最大最杂的入口呢?如果面

浅谈南京58同城面包屑导航优化手法

做网站的都是知道面包屑路径这个名词,一个内容丰富的大站,如果没有面包屑导航的话,搜索引擎蜘蛛很容易迷路,同时面包屑导航优化也是属于站内优化方法的一部分.那我们该如何去优化面包屑导航使得网站权重排名提升呢?这个问题我们需要南京58同城网站来来回答我们. 首先打开先再百度搜索"南京58同城",之后点击排名第一的官网就可以进入58同城南京地区了.首先看一下,58同城SEO人员是用二级域名做的,所以说南京58同城是一个独立的二级域名,非二级目录.接着我们在往下看它的面包屑路径.   如图箭头所

新增一级目录24小时内现谷歌面包屑导航分析

记录一个事件,昨天零晨的时候,我把一个网站的一级导航栏,删了了一部分,同时又增加了一部分,而且是在昨天下午的时候,把每个新增加的栏目里更新了几篇文章.就在刚才,本人查看搜索引擎收录的情况时发现,google对于每个新增加的目录里的每篇文章都收录了.而且,还对于新增加的目录,给了一个面包屑导航. 为何一个新增加的目录能在这么段的时间里有google给予这么高的权重?而且,还是在什么有外部链接的情况下.并搜索部分长尾发现,排名很好基本上都在首页.本人分析如下: 1.首先新增加的目录继承了主站的权重,

实例图说面包屑导航如何帮你简化站点的导航结构

导航是web产品中应用最广泛的基础组成之一,其主要功能是引导访客了解到站点的内容结构进而找到目标信息.作为基础组成之一,导航看起来简单,但却页面设计中最复杂繁琐的工序之一.因为作为站长我们想要网站结构更简洁明了.更快速的为我们的用户提供信息.但是问题出现了,简化了导航栏,访客可能无法快速了解到站点结构以及自己的位置,产生困惑;复杂了,导航臃肿不堪,层峦叠嶂,既不美观也不好用.那么我们应该如何处理呢?我们可以使用面包屑导航来让导航更方便,同时简化我们的导航结构. 面包屑导航通常会安放在出现在页面顶

浅析面包屑导航的作用及常见的面包屑导航类型

面包屑导航对于你的站点来说虽然不是重要的组成部分,但是笔者认为面包屑导航是一种提高你的站点的友好体验的很好的方式.面包屑一词来源于著名的童话故事,故事中汉塞尔和格莱特在森林中迷路了,但是后来他们通过撒在路上的面包屑找到了出路.那么面包屑导航对你的站点来说有什么作用? 面包屑导航对于你的站点来说是一个次要的组成部分,一般出现在主导航的下面.标题栏或者页面的顶部.面包屑位置一定要容易让访客找到,因为搜索引擎只是指引访客到你的站点,面包屑导航可以帮助访客知道他们目前在哪里,并且可以带访客到更高级的页面

电子商务网站设计分析:面包屑导航

AnyForWeb正式推出电子商务网站设计分析的系列文章,每月更新,本次主题为电商网站的面包屑导航设计,欢迎关注! 网站中的面包屑导航(Breadcrumb Navigation)导航是一种作为辅助和补充的导航方式,它能帮助用户明确当下所在的网站内位置,并快捷返回之前的路径. 面包屑的由来出自一个童话,两个孩子为了不在森林里迷路,于是沿途洒下了面包屑作为标记,帮助自己能够原路返回.通过这个故事我们可以看出,之所以被称为面包屑导航,正是因为它在网站中也起了相同的作用,让用户既能看清自己在网站中所处