HTML/CSS:导航栏水平和垂直
1.垂直导航栏
导航栏 = 链接列表
导航栏基本上是一个链接列表,因此使用 <ul> 和 <li> 元素是非常合适的。
如需构建垂直导航栏,我们只需要定义 <a> 元素的样式
演示:

代码:
HTML
<div class="nav">
<ul>
<li><a href="#">HOME</a></li>
<li><a href="#">MTRA</a></li>
<li><a href="#">PRODUCT</a></li>
<li><a href="#">MORE</a></li>
</ul>
</div>
CSS
.nav {
background-color: #F5F5DC;
}
.nav ul {
margin: 0;padding: 0;
list-style-type: none;
line-height: 3em;
}
.nav a {
display: block;
width: 10em;
text-align: center;
text-decoration: none;
background-color: #CCCCCC;
}
.nav a:hover {
background-color: #E6E6FA;
}
核心代码:
- list-style-type:none - 删除圆点。导航栏不需要列表项标记。
- 把外边距和内边距设置为 0 可以去除浏览器的默认设定。
- display:block - 把链接显示为块元素可使整个链接区域可点击(不仅仅是文本),同时也允许我们规定宽度。
- width:10em - 块元素默认占用全部可用宽度。此处自定义宽度。
提醒:请始终规定垂直导航栏中 <a> 元素的宽度。如果省略宽度,IE6 会产生意想不到的结果。
2.两种水平导航栏设置方式
有两种创建水平导航栏的方法。使用行内或浮动列表项。
两种方法都不错,但是:如果希望链接拥有相同的尺寸,就必须使用浮动方法。
1.行内列表法
演示:

代码:
HTML
<div class="nav">
<ul>
<li><a href="#">HOME</a></li>
<li><a href="#">MTRA</a></li>
<li><a href="#">PRODUCT</a></li>
<li><a href="#">MORE</a></li>
</ul>
</div>
CSS
.nav {
text-align: center;
background-color: #F5F5DC;
}
.nav ul {
list-style-type: none;
line-height: 5em;
}
.nav ul li {
display: inline;
}
.nav a {
text-decoration: none;
background-color: #CCCCCC;
}
.nav a:hover {
background-color: #E6E6FA;
}
核心代码:
- display:inline - 默认地,<li> 元素是块元素。在这里,我们去除了每个列表项前后的换行,以便让它们在一行中显示。
2.浮动列表法
在上面的例子中,链接的宽度是不同的。
为了让所有链接拥有相等的宽度,浮动 <li> 元素并规定 <a> 元素的宽度:
演示:

代码:
HTML
<div class="nav">
<ul>
<li><a href="#">HOME</a></li>
<li><a href="#">MTRA</a></li>
<li><a href="#">PRODUCT</a></li>
<li><a href="#">MORE</a></li>
</ul>
</div>
CSS
.nav {
height: 5em;
width: 50em;
margin: auto;
background-color: #F5F5DC;
text-align: center;
}
.nav ul {
margin: ;padding: ;
list-style-type: none;
display: inline-block;
}
.nav ul li {
float:left;
}
.nav a {
display:block;
width: 10em;
height: 5em;
line-height: 5em;
text-decoration: none;
background-color: #CCCCCC;
}
.nav a:hover {
background-color: #E6E6FA;
}
核心代码:
- display: inline-block - 使列表正常居中显示。
- float:left - 使用 float 来把块元素滑向彼此。
- display:block - 把链接显示为块元素可使整个链接区域可点击(不仅仅是文本),同时也允许我们规定宽度。
- width:10em - 由于块元素默认占用全部可用宽度,链接无法滑动至彼此相邻。我们需要自定义宽度。
HTML/CSS:导航栏水平和垂直的更多相关文章
- CSS:CSS 导航栏
ylbtech-CSS:CSS 导航栏 1.返回顶部 1. CSS 导航栏 导航栏 熟练使用导航栏,对于任何网站都非常重要. 使用CSS你可以转换成好看的导航栏而不是枯燥的HTML菜单. 导航栏=链接 ...
- 4 CSS导航栏&下拉菜单&属性选择器&属性和值选择器
CSS导航栏 熟练使用导航栏,对于任何网站都非常重要 使用CSS你可以转换成好看的导航栏而不是枯燥的HTML菜单 垂直导航栏: <!DOCTYPE html> <html> & ...
- [HTML/CSS]导航栏的下划线跟随效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- CSS 导航栏
实例: 导航栏 Home News Articles Forum Contact About 导航栏 熟练使用导航栏,对于任何网站都非常重要. 使用CSS你可以转换成好看的导航栏而不是枯燥的HTML菜 ...
- PHP全栈开发(八):CSS Ⅹ 导航栏制作
学习了这么久的CSS,我们现在也可以小试牛刀一下了,我们使用我们学会的CSS知识来制作一个导航栏. 我们都知道,在现代的导航栏里面,最普遍的就是使用无序列表来制作导航栏. 我们可以使用如下代码来制作一 ...
- css导航栏
几个导航栏也算对学过知识的回顾,总有新的收获,下面是学习过程中敲的代码: <!DOCTYPE HTML> <html> <head> <title>&l ...
- 纯洁CSS实现下拉菜单和下拉容器(纯洁CSS导航栏和导航下拉容器)
虽然网上课程似即使案件大同小异,但我还是写,记笔记,也为您提供参考 我希望你能指导批评~~ 首先,我们必须列出ul li 开始我们的导航栏菜单也能说生产: 在下面的页面,我们先建XHTML结构体: & ...
- 不可思议的纯CSS导航栏下划线跟随效果
先上张图,如何使用纯 CSS 制作如下效果? 在继续阅读下文之前,你可以先缓一缓.尝试思考一下上面的效果或者动手尝试一下,不借助 JS ,能否巧妙的实现上述效果. OK,继续.这个效果是我在业务开发的 ...
- 纯css导航栏下划线
.nav-underline > *{/* 指定容器,里面可以是li.span等多样化的元素 */ display: inline-block; margin: -3px; padding: 1 ...
随机推荐
- 在xcode中新建项目使用Image.xcassets时不显示自定义图片
这个很简单,先在Images.xcassets中设置一个LaunchImage,然后再项目设置的general-->App Icons and Launch Images-->Launch ...
- 解析Unicode转义序列带来的问题
Unicode转义序列的解析是发生在代码编译之前,编译器机械的将\u样式的代码文本转义,即使是注释以及非正常代码,对此步骤来说也没有区别 导致下面的情况: public class Test { pu ...
- MyBatis从入门到精通(十一):MyBatis高级结果映射之一对多映射
最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 本篇博客主要讲解MyBatis中如何使 ...
- webpack-dev-server 小记 原理介绍 概念解读
使用 DevServer 提供 HTTP 服务而不是使用本地文件预览 监听文件的变化并自动刷新网页,做到实时预览 支持 Source Map,以方便调试 对于这些,Webpack 都为我们考虑好了.W ...
- NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load xxxx错误解决方法
在开发项目的过程中,和后端对接,我们使用是一个成熟的集成很全面的架构JHipster.后端为java spring-boot 前端ts+react,需求是有一个需要在页面里嵌套iframe的需求.然后 ...
- aspnetcore 刷新Session Id总是改变
public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; ...
- JDBC连接-操作数据库
JDBC连接数据库的操作步骤 *条件:先启动mysql,然后创建新连接.这里我用Navicat工具来操作数据库. 前面是创建数据库,以及授权的问题.然后打开eclipse 这里我整理一下 抛出的两个异 ...
- Python入门基础(9)__面向对象编程_1
定义一个只包含方法的类 class 类名: def 方法1(self,参数列表): pass def 方法2(self,参数列表): pass 当一个类定义之后,要使用这个类来创键对象.语法如下: 对 ...
- JS高级程序设计第4章--精简版
前言:纯手打!!!按照自己思路重写!!!这次是二刷了,想暑假做一次完整的笔记,但用本子来写笔记的话太贵了,可能哪天还丢了..所以还是博客好== 第四章:变量.作用域和内存问题 4.1 基本类型和引用类 ...
- C#中用WMI实现对驱动的查询
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...