CSS 导航条

演示:导航栏

  • Home
  • News
  • Articles
  • Forum
  • Contact
  • About

导航栏

拥有易用的导航条对于任何网站都很重要。

通过 CSS,您能够把乏味的 HTML 菜单转换为漂亮的导航栏。

导航栏 = 链接列表

导航栏需要标准的 HTML 作为基础。

在我们的例子中,将用标准的 HTML 列表来构建导航栏。

导航栏基本上是一个链接列表,因此使用 <ul> 和 <li> 元素是非常合适的:

实例

<ul>
<li><a href="default.asp">Home</a></li>
<li><a href="news.asp">News</a></li>
<li><a href="contact.asp">Contact</a></li>
<li><a href="about.asp">About</a></li>
</ul>

现在,让我们从列表中去掉圆点和外边距:

实例

ul
{
list-style-type:none;
margin:0;
padding:0;
}

例子解释:

  • list-style-type:none - 删除圆点。导航栏不需要列表项标记。
  • 把外边距和内边距设置为 0 可以去除浏览器的默认设定。

以上例子中的代码是用在垂直、水平导航栏中的标准代码。

垂直导航栏

如需构建垂直导航栏,我们只需要定义 <a> 元素的样式,除了上面的代码之外:

实例

a
{
display:block;
width:60px;
}

例子解释:

  • display:block - 把链接显示为块元素可使整个链接区域可点击(不仅仅是文本),同时也允许我们规定宽度。
  • width:60px - 块元素默认占用全部可用宽度。我们需要规定 60 像素的宽度。

提示:请同时看一看我们完整样式的导航栏实例。

注释:请始终规定垂直导航栏中 <a> 元素的宽度。如果省略宽度,IE6 会产生意想不到的结果。

水平导航栏

有两种创建水平导航栏的方法。使用行内或浮动列表项。

两种方法都不错,但是如果您希望链接拥有相同的尺寸,就必须使用浮动方法。

行内列表项

除了上面的“标准”代码,构建水平导航栏的方法之一是将 <li> 元素规定为行内元素:

实例

li
{
display:inline;
}

例子解释:

display:inline; - 默认地,<li> 元素是块元素。在这里,我们去除了每个列表项前后的换行,以便让它们在一行中显示。

提示:请看一下我们完整样式的水平导航栏实例。

对列表项进行浮动

在上面的例子中,链接的宽度是不同的。

为了让所有链接拥有相等的宽度,浮动 <li> 元素并规定 <a> 元素的宽度:

实例

li
{
float:left;
}
a
{
display:block;
width:60px;
}

例子解释:

  • float:left - 使用 float 来把块元素滑向彼此。
  • display:block - 把链接显示为块元素可使整个链接区域可点击(不仅仅是文本),同时也允许我们规定宽度。
  • width:60px - 由于块元素默认占用全部可用宽度,链接无法滑动至彼此相邻。我们需要规定 60 像素的宽度。

提示:请看一下我们完整样式的水平导航栏实例。

推荐阅读:
浅谈javascript的函数节流   阅读:4352centos 7 安装 mysql-5.7   阅读:6461小米手机端商城rem适配原理   阅读:6377crontab+shell脚本实现定时备份mysql数据库   阅读:7209小米手机端商城rem适配原理   阅读:6377csv文件一键导入数据到mysql数据库   阅读:6266Nginx 配置文件详解   阅读:4336解决 nginx 413 request entity too large   阅读:4152PHP 鸟哥:我也曾经是“不适合”编程的人   阅读:13803shell脚本统计当前服务器并发连接数   阅读:6722移动端自适应rem原理   阅读:9277霍金24岁博士毕业论文在线预览   阅读:5260javascript获取两个日期间的所有日期   阅读:6111mongodb设置shell开机启动脚本   阅读:9272面试的时候回去等通知,等电话的真实意思   阅读:22931centos 7 开启网络   阅读:6477mysql的四种索引类型   阅读:21093centos7.3安装mongodb3.6   阅读:6931php打印九九加法表   阅读:9351php 读取和设置redis的键值   阅读:6915最新centos7 搭建LNMP环境(centos7.2+php7+mysql5.7+nginx1.11+redis3.2)   阅读:10341PHP 鸟哥:我也曾经是“不适合”编程的人   阅读:13803php 统计网页打开耗时和脚本运行内存   阅读:6387最简单的Banner轮播左右切换效果代码及实现思路(附带源码)   阅读:30632简单的DOS攻击之死亡之ping详解   阅读:49951centos7中颁发CA证书并开启web https   阅读:6475csv文件一键导入数据到mysql数据库   阅读:6266centos 7 安装 samba 服务   阅读:6239session与cookie的区别   阅读:3933mysql数据一键导出到csv文件   阅读:5265linux top命令详解   阅读:8777php文件下载防盗链   阅读:9304面试都会问你为什么你从上一家公司离职的真实意思   阅读:10528mysql5.7主从同步配置   阅读:4586最新centos7 搭建LNMP环境(centos7.2+php7+mysql5.7+nginx1.11+redis3.2)   阅读:10341crontab+shell脚本实现定时备份mysql数据库   阅读:7209人性漫画:打工与创业的残酷区别   阅读:4487php设置cookie为HttpOnly防止XSS攻击   阅读:11977centos 7 添加 redis 3.2.9 开机启动脚本   阅读:8899ajax+php 实现一个简单的在线聊天室功能(附带源码)   阅读:8704php删除一个文件夹内的所有文件夹和文件   阅读:4484纯干货,程序员面试的超实用技巧   阅读:3967把php session 会话保存到redis   阅读:6772给 centos 7 安装桌面环境   阅读:16313crontab+shell脚本实现定时备份mysql数据库   阅读:7209centos 7 安装 nginx-1.11.10   阅读:7969给网站添加一键qq登录的功能   阅读:6864最简单的Banner轮播淡入淡出效果代码及实现思路(附带源码)   阅读:12547php文件下载防盗链   阅读:9304linux教程,鸟哥私房菜(pdf全集)   阅读:9127