--专题: Web设计

金牌译作 使用CSS开发时髦的导航栏(四)

1469个读者 翻译: 子非鱼  09/18/2007 原文 引用 双语对照及眉批

如何用CSS创建按钮类型的导航栏?

看上去像是可以点击的按钮组成的导航栏是很多网站的一个特色。这种类型的导航栏常常靠模拟成按钮样子的图片来创建,通常还需要一些Javascript脚本来切换到另一张图片,这样可以模拟按钮被按下或者鼠标在上面高亮显示的效果。

只用CSS有可能创造这样类似按钮的导航栏吗?当然!

解决方案

使用CSS创建一个象图10显示的按钮效果是可能的,并且比较简单。这个效果的成功与否取决于你对于CSS里面border属性的使用能力。

navigation_button-style-css.png

10:按钮效果的导航栏

这是你需要的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">

<head>

<title>Lists as navigation</title>

<meta http-equiv="content-type"

content="text/html; charset=utf-8" />

<link rel="stylesheet" type="text/css" href="listnav_button.css"

/>

</head>

<body>

<div id="navigation">

<ul>

<li><a href="#">Recipes</a></li>

<li><a href="#">Contact Us</a></li>

<li><a href="#">Articles</a></li>

<li><a href="#">Buy Online</a></li>

</ul>

</div>

</body>

</html>

 

#navigation {

font-size:90%

}

#navigation ul {

list-style: none;

margin: 0;

padding: 0;

padding-top: 1em;

}

#navigation li {

display: inline;

}

#navigation a:link, #navigation a:visited {

margin-right: 0.2em;

padding: 0.2em 0.6em 0.2em 0.6em;

color: #A62020;

background-color: #FCE6EA;

text-decoration: none;

border-top: 1px solid #FFFFFF;

border-left: 1px solid #FFFFFF;

border-bottom: 1px solid #717171;

border-right: 1px solid #717171;

}

#navigation a:hover {

border-top: 1px solid #717171;

border-left: 1px solid #717171;

border-bottom: 1px solid #FFFFFF;

border-right: 1px solid #FFFFFF;

}

讨论

为了创建这个效果,我们将使用在“如何用CSS创建按钮类型的导航栏?”章节中描述的水平列表导航栏。与之不同的是,为了创建按钮外观,我们将在每个按钮的上边和左边使用不同于下边和右边的颜色边框。通过给上边和左边赋值比下边及右边的边框亮一些的颜色,我们创建了一个略微突起的效果。

#navigation a:link, #navigation a:visited {

margin-right: 0.2em;

padding: 0.2em 0.6em 0.2em 0.6em;

color: #A62020;

background-color: #FCE6EA;

text-decoration: none;

border-top: 1px solid #FFFFFF;

border-left: 1px solid #FFFFFF;

border-bottom: 1px solid #717171;

border-right: 1px solid #717171;

}

 

在鼠标停留在上面的状态下,我们反转边框的颜色,这样就创造了按钮被按下的效果。

#navigation a:hover {

border-top: 1px solid #717171;

border-left: 1px solid #717171;

border-bottom: 1px solid #FFFFFF;

border-right: 1px solid #FFFFFF;

}

试着使用更深的边框,改变链接的背景图片,去创造属于你自己的设计。

继续阅读
  • 使用CSS开发时髦的导航栏(一)

    除非限制你自己只做单个页面的网站,否则你都需要导航栏。事实上,导航栏是任何网站设计中最主要的部分之一,如果希望用户很容易的在你的站点移动,导航栏的设计需要大量的思考。 制作容易的站点导航栏是CSS真...

  • CSS渐变文本效果

    你是否想不用photoshop来创建一个带渐变的标题文字吗? 这里用一个简单的css技巧来向你展示如何仅仅使用css和png图片来制造这种效果. 经测试这种方法适合大多数主流浏览器.当然, IE6需...

  • 14个可以节省你时间的CSS工具

    作为一个网站设计/开发人员,你必须不断寻找方法来减少设计/开发过程中所花费的时间。这对于提高你的工作效率并最大化你的利润是非常重要的。下面介绍的按功能分类的CSS工具可以有效地节省你设计网站的时间。C...

  • 2008 Web设计潮流走势

    之所以翻译这篇文章,不是让大家欢欣鼓舞的去跟随这些所谓的“潮流走势”,正好相反,我是想提醒大家:小心,这些风格可能马上就要过时了。 当某种风格一旦成为了可以归类的“潮流”,那就意味着,它离过时已...

  • 使用CSS开发时髦的导航栏(二)

    我能够使用CSS和列表创造有子菜单的导航栏吗? 有时候我们需要超过一级的导航栏 – 可是在CSS里面用样式化的列表能够创建多级导航栏吗?   解决方案 在一个导航系统中显示子菜单最好的办法是在一个列...

  • CSS完美分页样式

    这个教程要说明的是如何为搜索结果或更常见的长记录列表设计分页。经常有人问我这个问题,所以我决定发一个帖子来说明如何用少量的 HTML 和 CSS 代码设计完美的分页样式。

  • 使用CSS开发时髦的导航栏(三)

    如何使用CSS和列表构造一个水平菜单? 到目前为止,我们能够处理垂直导航栏了—这种导航栏在一个中间是主要内容的网站左边或右边很容易被看到。然而,导航栏也常常被做成水平菜单紧挨在文本上方。 解决方案 ...

  • 设计者的框架

    这是A List Apart上面一篇关于CSS设计框架的文章,初次上yeeyan翻译,包涵包涵,站点还不是很会用。有错误希望指正。

相关小组

标签:

内容有问题?请与我们联络。

译作评分

  • Currently 0.00/5
  • 1
  • 2
  • 3
  • 4
  • 5
 0.0  |  0 个评分

0条评论    0眉批

添加评论

欢迎访问译言网。在这里,您可以。。。

阅读
发现
翻译