为列表添加定制的项目符号

  可使用list-style-image属性:缺点是对项目符号图像的位置的控制能力不强。

  常用的方法:使用list-style-type来关闭项目符号,将定制的项目符号作为背景添加在列表元素上,使用背景图像的定位属性精准的控制自定义项目符号的对准方式。

  • 在列表项左边添加内边距,为符号留出所需的空间。
  • 将项目符号作为背景图像应用于列表项
  • 如果知道列表项的内容不会跨越多行,可以将垂直位置设置为middle或50%,从而让项目符号垂直居中。 
<ul><li>Read emails</li><li>Write chapter</li><li>Go shopping</li><li>Cook dinner</li><li>Watch Lost</li>
</ul>
<style type="text/css">
ul {margin: 0;padding: 0;width: 20em;list-style-type: none;        //关闭项目符号
}li {background: url(img/tick.png) no-repeat 0 50%;   //项目符号垂直居中padding-left: 30px;
}
</style>

得到的结果:

创建基本的垂直导航条

<ul class="nav"><li class="selected"><a href="home.htm">Home</a></li><li><a href="about.htm">About</a></li><li><a href="services.htm">Our Services</a></li><li><a href="work.htm">Our Work</a></li><li><a href="news.htm">News</a></li><li class="last"><a href="contact.htm">Contact</a></li>
</ul>
<style type="text/css">
ul.nav {margin: 0;     //外边距设置为0padding: 0;    //内边距设置为0width: 8em;   //设置福列表的宽度,代码更容易维护list-style-type: none;     //去掉默认的项目符号background-color: #8BD400;    //设置浅绿色背景border: 1px solid #486B02;     //设置深绿色的边框border-bottom: none;
}ul.nav li {display: inline; /* 在IE6上列表项下添加了额外的空间,所以需要在列表项上设置display为inline*/
}ul.nav a {display: block;        //创建与按钮相似的单击区域color: #2B3F00;    //设置链接文本的颜色text-decoration: none;      //关闭下划线border-top: 1px solid #E4FFD3;  //为创建斜面效果,顶边框设置比背景浅border-bottom: 1px solid #486B02;//为创建斜面效果,顶边框设置比背景深background: url(img/arrow.gif) no-repeat 5% 50%;      //列表项前面的图标,及位置padding: 0.3em 1em;
}ul.nav a:hover,
ul.nav a:focus,
ul.nav .selected a {color: #E4FFD3;background-color: #6DA203;
}
</style>

结果如下:

创建简单的水平导航条

<ol class="pagination">//rel属性表示结果集中的前一个和下一个页面,规定当前文档与被链接文档之间的关系<li><a href="search.htm?page=1" rel="prev">Prev</a></li> <li><a href="search.htm?page=1">1</a></li><li class="selected">2</li><li><a href="search.htm?page=3">3</a></li><li><a href="search.htm?page=4">4</a></li><li><a href="search.htm?page=5">5</a></li><li><a href="search.htm?page=3" rel="next">Next</a></li>
</ol>
<style type="text/css">
body {font-family: "Myriad Pro", Frutiger, "Lucida Grande", "Lucida Sans", "Lucida Sans Unicode", Verdana, sans-serif;font-size: 1.4em;margin-top: 4em;
}ol.pagination {margin: 0;      //去掉外边距padding: 0;     //去掉内边距list-style-type: none;     //去掉列表样式
}
//让列表水平排列而不是垂直排列,可以将display属性设置为inline,但是对于比较复杂的水平列表样式,如果浮动列表项,然后使用外边距把它们分开,会更灵活。
ol.pagination li {float: left;         //向左浮动margin-right: 0.6em;      //设置右外边距
}ol.pagination a,
ol.pagination li.selected {   //对列表项应用样式display: block;padding: 0.2em 0.5em;border: 1px solid #ccc;     //设置边框text-decoration: none;   //去掉下划线
}ol.pagination a:hover,
ol.pagination a:focus,
ol.pagination li.selected {       //当鼠标悬停在链接上时,应用不同样式background-color: blue;  color: white;
}ol.pagination a[rel="prev"],      //对于prev和next链接应用不同的样式
ol.pagination a[rel="next"] {border: none;    //去掉边框
}ol.pagination a[rel="prev"]:before {   //在列表的前面加箭头content: "\00AB";     //“00AB”添加双左箭头padding-right: 0.5em;
}ol.pagination a[rel="next"]:after {       //在列表的后面加箭头content: "\00BB";   “00BB”添加双右箭头padding-left: 0.5em;
}
</style>

让列表水平排列而不是垂直排列,可以将display属性设置为inline,但是对于比较复杂的水平列表样式,如果浮动列表项,然后使用外边距把它们分开,会更灵活。

创建图形化导航条(水平)

<ul class="nav"><li class="first"><a href="#">Home</a></li><li><a href="#">About</a></li><li><a href="#">News</a></li><li><a href="#">Products</a></li><li><a href="#">Services</a></li><li><a href="#">Clients</a></li><li><a href="#">Case Studies</a></li>
</ul>
<style type="text/css">
body {font: 76%/1.8 "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;background-color: #fff;
}ul.nav {margin: 0;padding: 0;overflow: hidden;     //清理li浮动造成的父元素高度为0width: 74em;      //设置整个导航条的宽度background: #FAA819 url(img/mainNavBg.gif) repeat-x;   //以重复的橘红色渐变作为背景list-style: none;text-transform: uppercase;     //让链接全部大写
}ul.nav li {float: left;          //利用浮动让列表垂直显示white-space: nowrap;   //    文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。
}ul.nav a {display:block;  //让链接表现的像按钮padding: 0 2.96em;line-height: 2.1em;     //使用行高让链接文本垂直居中background: url(img/divider.gif) repeat-y left top;     //在链接之间创建分隔线,可以通过在列表项或锚上设置水平边框。为简单,在锚链接应用一个背景图像text-decoration: none;   //关闭下划线color: #fff;         //链接颜色设置为白色
}ul.nav a:hover ,
ul.nav a:focus {       //设置翻转状态color: #333;
}ul.nav li:first-child a {     //去掉第一个链接不必要的分割线background: none;
}
</style>

当li元素浮动时,不再占据文档流中的任何空间,所以,它的父元素实际上没有内容,它就会收缩,从而会隐藏列表背景,所以需要办法让父元素包含浮动的子元素,方法为3种清除浮动的方法 ,最常用的是overflow:hidden技术.

结果如下:

简化的“滑动门”标签页式导航

使用一个大图像和一个侧边图像创建标签页,随着标签页中文本的扩展,大图像的更多部分露出来,较小的图像留在左边,盖住大图像的硬边缘,下述实例中,大图像为tab-right.gif,侧边图像为tab-left.gif

tab-left.gif(应用于锚链接)tab-right.gif(应用于li)

<ul id="mainNav"><li class="first"><a href="#">Home</a></li><li><a href="about.htm">About</a></li><li><a href="news.htm">News</a></li><li><a href="products.htm">Products</a></li><li><a href="services.htm">Services</a></li><li><a href="clients.htm">Clients</a></li><li><a href="casestudies.htm">Case Studies</a></li>
</ul>
<style type="text/css">
body {font: 76%/1.8 "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;background-color: #fff;
}ul {margin: 0;padding: 0;overflow: hidden;     //清除li浮动width: 72em;list-style: none;text-transform: uppercase;
}ul li {float: left;      //向左浮动,以产生水平效果background: url(img/tab-right.gif) no-repeat top right;      //应用right背景图像,形成标签页的右边缘
}li a {display: block;     //让锚显示为块级元素使得整个区域可单击padding: 0 2em;line-height: 2.5em;     //设置行高控制高度,宽度由内容的宽度控制background: url(img/tab-left.gif) no-repeat top left;  //应用left背景,并向左对齐。   当标签页改变尺寸时,这个图像总是对准左边,盖在大图上面,盖住左边的硬边缘text-decoration: none;color: #fff;float: left;       //确保这种技术在Mac上的IE 5.2中有效
}ul a:hover {    //创建翻转效果color: #333;
}
</style>

结果如下:

Sukerfish下拉菜单

<ul class="nav"><li><a href="/home/">Home</a></li><li><a href="/products/">Products</a><ul><li><a href="/products/silverback/">Silverback</a></li><li><a href="/products/fontdeck/">Font Deck</a></li></ul></li><li><a href="/services/">Services</a><ul><li><a href="/services/design/">Design</a></li><li><a href="/services/development/">Development</a></li><li><a href="/services/consultancy/">Consultancy</a>        </li></ul></li><li><a href="/contact/">Contact Us</a></li>
</ul>
<style type="text/css">
body {font-family: "Myriad Pro", Frutiger, "Lucida Grande", "Lucida Sans", "Lucida Sans Unicode", Verdana, sans-serif;font-size: 1.4em;margin-top: 4em;
}ul.nav, ul.nav ul {     //给所有的(包括嵌套的)列表设置外边距等等margin: 0;padding: 0;list-style-type: none;float: left;      //清除li的浮动,其中的一个办法是让父元素也浮动border: 1px solid #486B02;background-color: #8BD400;
}ul.nav li {float: left;    //产生水平效果width: 8em;   //设置宽度
}ul.nav li ul {width: 8em;  //与列表的宽度相等position: absolute;     left: -999em;     //将嵌套的ul隐藏在屏幕左边之外margin-left: -1px;
}.nav li:hover ul {      //添加鼠标悬停伪选择器left: auto;       //使得下拉菜单的位置改回正常位置,这样下拉菜单就会重新出现
}
/*把导航链接设置为块级元素,修改列表外观,设置背景颜色和斜面边框*/
ul.nav a {display: block;color: #2B3F00;text-decoration: none;padding: 0.3em 1em;border-right: 1px solid #486B02;border-left: 1px solid #E4FFD3;
}ul.nav li li a {border-top: 1px solid #E4FFD3;border-bottom: 1px solid #486B02;    border-left: 0;border-right: 0;
}ul.nav li:last-child a {border-right: 0;border-bottom: 0;
}ul a:hover,
ul a:focus {color: #E4FFD3;background-color: #6DA203;
}
</style>      

结果如下:

转载于:https://www.cnblogs.com/lmjZone/p/7741991.html

ch6 列表和导航条相关推荐

  1. css应用重定义标签设置背景、导航条及rgba

    1.应用重定义标签设置背景 2.设置图像列表 3.导航条的书写 4.空链接 1.设置背景和字体等 body{background-image: url(img/logo.jpg);background ...

  2. 三、bootstrap4 组件(警告和提示框、徽章和面包屑、按钮按钮组、卡片、列表组、导航和选项卡、分页和进度条、巨幕和旋转图标、轮播图、折叠菜单、下拉菜单、导航条、滚动监听、轻量弹框、模态框、表单)

    1.1 警告提示框 1.2 徽章和面包屑 1.3 按钮和按钮组 1.4 卡片 1.5 列表组 1.6 导航和选项卡 1.7 分页和进度条 1.8 巨幕和旋转图标 1.9 轮播图 1.10 折叠菜单 1 ...

  3. 练习(京东图片,导航左侧,网易列表,3school导航条,京东轮播图/电影卡片)

    图片列表 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8& ...

  4. CSS盒子模型总结(小练习网易新闻列表和京东导航条)

    css盒子模型 边框(border) 边框的宽度 border-width 边框的颜色 border-color 边框的样式 border-style border-width 默认值为3px 可以用 ...

  5. 如何构建顶部导航条_如何构建导航栏

    如何构建顶部导航条 导航栏 (Navigation Bars) Navigation bars are a very important element to any website. They pr ...

  6. [CSS]30种时尚的CSS网站导航条

    [原文地址]:http://coolshell.cn/?p=562 我想,大家在上网的时候一定见过很多很多种各式各样的网站导航条的设计.这些导航条基本上来说都是用CSS来做的.这里,我们将向你介绍几种 ...

  7. Bootstrap系列 -- 38. 基础导航条

    在制作一个基础导航条时,主要分以下几步: 第一步:首先在制作导航的列表(<ul class="nav">)基础上添加类名"navbar-nav" 第 ...

  8. 纯CSS实现下拉菜单及下拉容器等(纯CSS实现导航条及导航下拉容器)

    原文:纯CSS实现下拉菜单及下拉容器等(纯CSS实现导航条及导航下拉容器) 虽然网上类似甚至相同的案例有很多,但是我还是写下,以记下笔记,也可供大家参考 希望大家可以指导批评~~ 首先我们以列表ul ...

  9. 【前端4】bootstrap:栅格系统,隔行/触摸换色,分页/导航条,模态框/轮播图,旅游首页

    文章目录 1.bootstrap基本模板:meta/title,link/script 2.两种布局容器/栅格系统:自动补 3.样式_表格/按钮/图片/表单:class属性,for属性联动 4.组件_ ...

最新文章

  1. 1.字母异位词分组(LeetCode第49题)
  2. Canvas之translate,scale,rotate,skew
  3. MAT之SA:利用SA算法解决TSP(数据是14个虚拟城市的横纵坐标)问题
  4. ora-39142,ora-39001,ora-39000
  5. 深入理解Kafka(2)-Producer
  6. ASP.NET MVC3 中的AJAX
  7. Kruskal算法的C++语言程序
  8. Linux的学习方法
  9. 利用Procexp工具监控Windows平台上的Oracle数据库性能
  10. 什么叫股指期货,股指期货交易流程是什么
  11. 问:平面布置图是什么?有什么作用?如何判断好的平面布置图方案?如何绘制?
  12. MYSQL基本操作(增删改查)
  13. 2个红外传感器循迹原理_8个蓝牙小车的设计方案
  14. Android EventBus使用
  15. Oracle 中文日期转换
  16. 以几款火爆链游为例 读懂GameFi常见机制
  17. Unity用Mesh画多边形、圆形
  18. 办公神器QuickBot前来内卷 请赐教
  19. BLF格式的CAN数据
  20. html iso标准文档,ISO9001-2015-标准中英文.doc

热门文章

  1. Leetcode 77.组合
  2. 1.void main
  3. JAVA单例模式:懒汉式,饿汉式
  4. Chromium Embedded Framework中文文档 (如何链接不同的运行时)
  5. 当Linux提权不能反弹Shell时利用metasploit进行提权
  6. iOS开发HTTPS实现之信任SSL证书和自签名证书
  7. JavaScript 原型中的哲学思想
  8. JavaSE学习总结第08天_面向对象3
  9. Cisco IPSec *** Gre over --- SVTI
  10. 基于Netty的http服务器