首先祝大家,在新年里,好的、善良的都都马上有。

关于css实现面包屑已经是一个典型例子了。不过今天还是与大家分享一下实现的原理。
原理:每一段元素固定宽度并向左浮动,头尾突出部分相对父元素用相对定位固定位置,默认为同一颜色,高亮设置指定样式。

详解见下图:

合并小图标,减少链接请求数量

DEMO:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>面包屑</title>
<style>
*{margin: 0px;padding: 0px;}
ul,ol,li,dl,dt,dd{list-style: none;}
.iCls{*zoom:1;}
.iCls:after{display:block; overflow:hidden;clear:both; height:0;visibility:hidden; content:".";}
.iBread li i,.iBread li em,.iBread li strong{
background-image:url("http://images.cnblogs.com/cnblogs_com/kuikui/354173/o_ibread.png");
background-repeat: none;
}

.iBread{
width: 910px;
margin: 20px auto;
_overflow: hidden;
}

.iBread ul{
border-radius: 6px;
overflow: hidden;
}

.iBread li{
position: relative;
float: left;
width: 292px;
height: 35px;
line-height: 35px;
color: #666666;
font-weight: bold;
background: #dfdfdf;
margin-right: 17px;
_margin-right: 16px;
text-indent: 80px;

}

.iBread li.last{
margin-right: 0px;
}

.iBread li i{
position: absolute;
right: -17px;
top: 0px;
z-index: 1;
display: block;
width: 17px;
height: 35px;
overflow: hidden;
background-position: -204px 0px;
}

.iBread li em{
display: none;
}

.iBread li strong{
position: absolute;
left: 30px;
top: 3px;
display: block;
width: 30px;
height: 30px;
overflow: hidden;
text-indent: -9999px;
margin-right: 20px;
}

.iBread li strong.one{
background-position: 0px 0px;
}

.iBread li strong.two{
background-position: -34px 0px;
}

.iBread li strong.three{
background-position: -67px 0px;
}

.iBread li strong.four{
background-position: -101px 0px;
}

.iBread li strong.five{
background-position: -134px 0px;
}

.iBread li.on{
z-index: 1;
color: #fff;
background-image:url("http://images.cnblogs.com/cnblogs_com/kuikui/354173/o_ibread.png");
background-repeat: repeat;
background-position: 0px -78px;
}

.iBread li.on i{
right: -19px;
width: 19px;
color: #fff;
background-position: -228px -41px;
}

.iBread li.on em,.iBread li.lastOn em{
position: absolute;
left: -17px;
top: 0px;
z-index: 1;
display: block;
width: 17px;
height: 35px;
overflow: hidden;
background-position: -204px -41px;
}

.iBread li.on strong.one{
background-position: 0px -41px;
}

.iBread li.on strong.two{
background-position: -34px -41px;
}

.iBread li.on strong.three{
background-position: -67px -41px;
}

.iBread li.on strong.four{
background-position: -101px -41px;
}

.iBread li.on strong.five{
background-position: -134px -41px;
}

.iBread li.last i{
background-position: -228px 0px;

}

.iBreadFour li{
width: 214.75px;
}

.iBreadFive li{
width: 168.4px;
}
</style>
</head>
<body>
<div class="iBread">
<ul class="iCls">
<li class="on">
<strong class="one">1</strong>
第一项
<i></i>
</li>
<li>
<strong class="two">2</strong>
第二项
<i></i><em></em>
</li>
<li class="last">
<strong class="three">3</strong>
第三项
<em></em>
</li>
</ul>
</div>

<div class="iBread iBreadFour">
<ul class="iCls">
<li class="on">
<strong class="one">1</strong>
第一项
<i></i>
</li>
<li>
<strong class="two">2</strong>
第二项
<i></i><em></em>
</li>
<li >
<strong class="three">3</strong>
第三项
<i></i><em></em>
</li>
<li class="last">
<strong class="four">4</strong>
第四项
<em></em>
</li>
</ul>
</div>

<div class="iBread iBreadFive">
<ul class="iCls">
<li >
<strong class="one">1</strong>
第一项
<i></i>
</li>
<li class="on" >
<strong class="two">2</strong>
第二项
<i></i><em></em>
</li>
<li >
<strong class="three">3</strong>
第三项
<i></i><em></em>
</li>
<li>
<strong class="four">4</strong>
第四项
<i></i><em></em>
</li>
<li class="last">
<strong class="five">5</strong>
第五项
<em></em>
</li>
</ul>
</div>
</body>
</html>

运行代码

面包屑 CSS的更多相关文章

  1. 菜单导航/URHere/面包屑,通过CSS中的content简洁表达代码

    比如我们要写一个菜单导航/URHere/面包屑,如: 首页 > 个人中心 > 修改密码 代码: <ul> <li><a href="javascri ...

  2. 辛星跟您解析在CSS面包屑中三角形的定位问题

    刚才看到有位网友非常纳闷第二个棕色三角形是怎么定位的,我当感觉在以下说不清楚,就特别开了一片博客.来说清楚它.首先,前面的代码我们先抄下来,至于前面这部分代码是怎么来的,读我的用CSS制作面包屑导航的 ...

  3. amazeui学习笔记--css(常用组件2)--面包屑导航Breadcrumb

    amazeui学习笔记--css(常用组件2)--面包屑导航Breadcrumb 一.总结 1.am-breadcrumb:用am-breadcrumb来声明面包屑导航控件,.am-breadcrum ...

  4. Bootstrap <基础十八>面包屑导航(Breadcrumbs)

    面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式.以博客为例,面包屑导航可以显示发布日期.类别或标签.它们表示当前页面在导航层次结构内的位置. Bootstrap 中的面包屑导航( ...

  5. 学习使用 CSS3 制作网站面包屑导航效果

    作为最重要的导航展示形式之一,面包屑导航能够让用户更清楚的知道他们所在页面的层次结构,让他们可以方便的导航到上一层页面.在本教程中,您将学习如何使用 CSS3 技术创建自己的面包屑导航效果. 效果演示 ...

  6. Bootstrap (导航、标签、面包屑导航)

    导航 Bootstrap中可用的导航有相似的标记,用基类.nav开头,这是相似的部分.改变修饰类可以改变样式. <!DOCTYPE html> <html> <head& ...

  7. NEC学习 ---- 模块 -多行式面包屑导航

    如上面形式面包屑的写法: HTML如下, <div class="m-crumb"> <ul class="f-cb"> <li& ...

  8. 夺命雷公狗ThinkPHP项目之----企业网站25之网站前台面包屑导航URL的完善

    如果想取出面包屑导航的url那么就必须在model层里面进行多取一个了: <?php namespace Home\Model; use Think\Model; class CategoryM ...

  9. 纯CSS3编写的面包屑导航收集

    整理了10个纯CSS3制作的面包屑导航,这些都是通过CSS3来编写,十分方便,而且实用.有些文章附有教程,大家可以研究学习一下. 漂亮面包屑导航 查看网站 扁平化面包屑导航 查看网站 圆形风格面包屑导 ...

随机推荐

  1. mongodb查询后排序

    var user = db.getCollection('user') //user.find({},{_id:0}).pretty().count() user.find({age:{$gte:25 ...

  2. bootstrap中的对话框-dialog

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <meta name= ...

  3. C++学习笔记42:进程管理

    子进程异步清除 SIGCHLD信号:子进程终止时,向父进程自动发送,编写此信号处理例程,异步清除子进程 #include <signal.h> #include <string.h& ...

  4. __NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0xb000000000000003

    出现这个报错的原因是:拿数字与字符串进行对比了. 检查两边的数据格式是否一致 如果不一致,可以使用[nsstring stringwithformate:@"%d",xx]包装一下 ...

  5. Unity3D引擎中特殊的文件夹

    Editor Editor文件夹可以在根目录下,可以在子目录里,只要名是Editor就可以./xxx/xxx/Editor  和 /Editor 是一样的,多少个叫Editor的文件夹都可以.Edit ...

  6. Android开发中遇到的问题(三)——eclipse创建android项目无法正常预览布局文件

    一.问题描述 今天使用SDK Manager将Android SDK的版本更新到了Android 5.1的版本,eclipse创建android项目时,预览activity_main.xml文件时提示 ...

  7. ASP.NET Web API中把分页信息放Header中返回给前端

    谈到ASP.NET Web API的分页,考虑的因素包括: 1.上一页和下一页的uri2.总数和总页数3.当前页和页容量 接着是服务端的数据以怎样的形式返回? 我们通常这样写: {    totalC ...

  8. 解决IE9下交通银行网上银行无法输入密码的问题

    自系统升级到 Win 7以后,突然发现用 IE9 浏览器登陆交通银行网上银行时,始终不能正常 输入密码.原来,非要进行特别的设置才可.现记录如下: 1.没有交通银行安装安全输入控件,安装即可.   当 ...

  9. 全景分割pipeline搭建

    全景分割pipeline搭建 整体方法使用语义分割和实例分割结果,融合标签得到全景分割结果: 数据集使用:panoptic_annotations_trainval2017和cityscapes; p ...

  10. 《es6标准入门》chapter11中关于Proxy的一个错误例子的纠正

    在原书第二版的p120,这里有一个使用Proxy实现管道化调用的例子,想法很好,但是代码有问题,下面是更正之后的代码. 由于我是在node环境下运行,所以我把几个全局函数定义到global内了,如果是 ...