精通CSS高级Web标准解决方案读书笔记-06对列表和创建导航条应用样式

1.创建基本的垂直导航条

<style type="text/css">
body {
  font-family: "Myriad Pro", Frutiger, "Lucida Grande", "Lucida Sans", "Lucida Sans Unicode", Verdana, sans-serif;
  font-size: 1.4em;
}
ul.nav {
  margin: 0;
  padding: 0;
  width: 8em;
  list-style-type: none;
    float: left;
    background-color: #8BD400;
    border: 1px solid #486B02;
    border-bottom: none;
}
ul.nav li {
  display: inline: /* :KLUDGE: Removes large gaps in IE/Win */
}
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 .last a {
    border-bottom: 0;
}*/

ul.nav a:hover,
ul.nav a:focus,
ul.nav .selected a {
    color: #E4FFD3;
    background-color: #6DA203;
}
</style>
</head>
<body>
<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>
</body>

2.创建简单的水平导航条

<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;
}

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[rel="prev"],
ol.pagination a[rel="next"] {
    border: none;
}
ol.pagination a[rel="prev"]:before {
    content: "\00AB";
    padding-right: 0.5em;
}
ol.pagination a[rel="next"]:after {
    content: "\00BB";
    padding-left: 0.5em;
}
ol.pagination a:hover,
ol.pagination a:focus,
ol.pagination li.selected {
    background-color: blue;
    color: white;
}
</style>
</head>
<body>
<ol class="pagination">
<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>
</body>

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

3.滑动门标签页导航。

在li上与其内的a上分别应用大背景可以实现。滑动门技术详见读书笔记的04章。

4. 下拉菜单

将子导航嵌在无序列表中。li应用hover

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Horizontal Nav</title>
<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;
    border: 1px solid #486B02;
    background-color: #8BD400;
}

ul.nav li {
    float: left;
    width: 8em;
}

ul.nav li ul {
    position: absolute;
    width: 8em;
    left: -999em;
    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>
</head>

<body>

<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>

</body>

在ie老搬中不支持在非锚元素上使用:hover,可以使用几行javascript或.htc行为文件解决。

5. 远距离翻转

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Remote Rollovers</title>


<style type="text/css">
<!--

body {
  font: 62.5%/1.6 "Lucida Grande", "Lucida Sans", "Lucida Sans Unicode", Verdana, sans-serif;
}  

.remote {
  width: 333px;
  height: 500px;
  position: relative;
}

.remote ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 1.8em;
}

.remote a {
  text-decoration: none;
  color: #039;
}

.remote a .hotspot {
  width: 50px;
  height: 60px;
  position: absolute;
    background-image: url(img/shim.gif);
}

.remote a .link {
  position: absolute;
  display: block;
  width: 10em;
  right: -11em;
    cursor: pointer;
}

.remote a:hover .hotspot,
.remote a:focus .hotspot {
  border: 1px solid #fff;
}

.remote a:hover .link,
.remote a:focus .link {
  color: #0066FF;
}

.remote .rich a .hotspot {
  top: 50px;
  left: 80px;
}

.remote .sophie a .hotspot {
  top: 90px;
  left: 200px;
}

.remote .cath a .hotspot {
  top: 140px;
  left: 55px;
  width: 60px;
  height: 80px;
}

.remote .james a .hotspot {
  top: 140px;
  left: 145px;
}

.remote .paul a .hotspot {
  top: 165px;
  left: 245px;
  width: 60px;
  height: 80px;
}


.remote .rich a .link {
  top: 0;
}

.remote .sophie a .link {
  top: 1.2em;
}

.remote .cath a .link {
  top: 2.4em;
}

.remote .james a .link {
  top: 3.6em;
}

.remote .paul a .link {
  top: 4.8em;
}


-->
</style>
</head>

<body>

<div class="remote">
<img src="img/nerdcore.jpg" width="333" height="500" alt="Rich, Sophie, Cath, James and Paul" />
<ul>

<li class="rich">
    <a href="http://www.clagnut.com/" title="Richard Rutter">
    <span class="hotspot"></span>
    <span class="link">» Richard Rutter</span>
    </a>
</li>

<li class="sophie">
    <a href="http://www.wellieswithwings.org/" title="Sophie Barrett">
    <span class="hotspot"></span>
    <span class="link">» Sophie Barrett</span>
    </a>
</li>

<li class="cath">
    <a href="http://www.electricelephant.com/" title="Cathy Jones">
    <span class="hotspot"></span>
    <span class="link">» Cathy Jones</span>
    </a>
</li>

<li class="james">
<a href="http://www.jeckecko.net/blog/" title="James Box">
    <span class="hotspot"></span>
    <span class="link">» James Box</span>
    </a>
</li>

<li class="paul">
    <a href="http://twitter.com/nicepaul" title="Paul Annett">
    <span class="hotspot"></span>
    <span class="link">» Paul Annett</span>
    </a>
</li>

</ul>
</div>

</body>

结果


总结

学习了简单的导航条,
水平导航条,
滑动门导航,
下拉菜单,
翻转。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容