CSS【导航栏】

article/2025/11/10 17:08:33

导航栏=链接列表

作为标准的HTML基础一个导航栏是必须的。在我们的例子中我们将建立一个标准的HTML列表导航栏。导航条基本上是一个链接列表,所以使用 <ul> 和 <li>元素非常有意义:

<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>导航栏</title></head><body><ul><li><a href="#home">主页</a></li><li><a href="#news">新闻</a></li><li><a href="#contact">联系</a></li><li><a href="#about">关于</a></li></ul></div></body></html>

这里我们用 href="#"作为测试连接。但在一个真正的 web 站点上需要真实的 url。 

从列表中删除边距和填充: 

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>导航栏</title><style>ul{list-style-type: none;margin: 0;padding: 0;}</style></head><body><ul><li><a href="#home">主页</a></li><li><a href="#news">新闻</a></li><li><a href="#contact">联系</a></li><li><a href="#about">关于</a></li></ul></div></body></html>

例子解析:

  • list-style-type:none - 移除列表前小标志。一个导航栏并不需要列表标记
  • 移除浏览器的默认设置将边距和填充设置为0
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title> 横向导航条页面居中的方法</title><style>ul{list-style-type: none;border: 1px solid red;margin: 10px;padding: 10px;}</style>
</head>
<body>
<ul><li><a href="###">产品中心</a></li><li><a href="###">仿古系列</a></li><li><a href="###">木纹砖系列</a></li><li><a href="###">仿古系列</a></li><li><a href="###">木纹砖系列</a></li>
</ul>
</body>
</html>

 对比上述两个例子可以很好的理解margin和padding【从列表中删除边距和填充】

垂直导航栏 

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>导航栏</title><style>li{display: block;        /*每个列表项作为一块,单独占一行*/background-color: lightblue;}ul{list-style-type: none;margin: 0;padding: 0;}</style></head><body><ul><li><a href="#home">主页</a></li><li><a href="#news">新闻</a></li><li><a href="#contact">联系</a></li><li><a href="#about">关于</a></li></ul></div></body></html>

示例说明:

  • display:block - 显示块元素的链接,让整体变为可点击链接区域(不只是文本),它允许我们指定宽度
  • width:60px - 块元素默认情况下是最大宽度。我们要指定一个60像素的宽度

垂直导航条实例

创建一个简单的垂直导航条实例,在鼠标移动到选项时,修改背景颜色:

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>导航栏</title><style>a{display: block;background-color: lightblue;}ul{list-style-type: none;margin: 0;padding: 0;width: auto;background-color: #f1f1f1;}li a{display: block;color: #000;padding: 8px 16px;text-decoration: none;}li a:hover{        /*设置鼠标移动到选项时候的背景颜色和字体颜色*/background-color: coral;color: white;}</style></head><body><ul><li><a href="#home">主页</a></li><li><a href="#news">新闻</a></li><li><a href="#contact">联系</a></li><li><a href="#about">关于</a></li></ul></div></body></html>

 

激活/当前导航条实例

在点击了选项后,我们可以添加 "active" 类来标准哪个选项被选中:

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>导航栏</title><style>a{display: block;}ul{list-style-type: none;margin: 0;padding: 0;width: auto;background-color: #f1f1f1;}li a{display: block;color: #000;padding: 8px 16px;  text-decoration: none;}li a.active{background-color: #4caf50;color: white;   /*字体*/}li a:hover:not(.active){background-color: #555; /*当鼠标悬浮在此处时,背景颜色变为灰色*/color: white;   /*当鼠标悬浮在该处时,字变为白色*/}</style></head><body><ul><li><a class="active" href="#home">主页</a></li><li><a href="#news">新闻</a></li><li><a href="#contact">联系</a></li><li><a href="#about">关于</a></li></ul></div></body></html>

 

创建链接并添加边框

可以在 <li> or <a> 上添加text-align:center 样式来让链接居中。

可以在 border <ul> 上添加 border 属性来让导航栏有边框。如果要在每个选项上添加边框,可以在每个 <li> 元素上添加border-bottom :

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>导航栏</title><style>a{display: block;}ul{list-style-type: none;align-content: center;margin: 0;padding: 0;width: 200px;background-color: #f1f1f1;border: 1px solid black;border-top:none;}li{text-align: center;border: 1px solid black;border-bottom: none;border-right: none;border-left: none;}li a{display: block;color: #000;padding: 8px 16px;text-decoration: none;}li a.active{background-color: #4caf50;color: white;   /*字体*/}li a:hover:not(.active){background-color: #555; /*当鼠标悬浮在此处时,背景颜色变为灰色*/color: white;   /*当鼠标悬浮在该处时,字变为白色*/}</style></head><body><ul><li><a class="active" href="#home">主页</a></li><li><a href="#news">新闻</a></li><li><a href="#contact">联系</a></li><li><a href="#about">关于</a></li></ul></div></body></html>

因为<ul>标签中的边框会和<li>的边框重合,为了美观我把四个方向的边只留了一条

全屏高度的固定导航条

接下来我们创建一个左边是全屏高度的固定导航条,右边是可滚动的内容。

 关键在于<ul>标签的height设置为%【全屏高度】且必须确定位置

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>导航栏</title><style>a{display: block;}ul{list-style-type: none;margin: 0;padding: 0;width: 25%;height: 100%;background-color: #f1f1f1;position: fixed;overflow: auto;}li{text-align: center;}li a{display: block;        /*这个block其实没什么用,因为块和浮动是矛和盾,互相无法限制*//*此处去掉block之后,在li中设置line-height或者height效果基本类似*/color: #000;padding: 8px 16px;text-decoration: none;}li a.active{background-color: #4caf50;color: white;   /*字体*/}li a:hover:not(.active){background-color: #555; /*当鼠标悬浮在此处时,背景颜色变为灰色*/color: white;   /*当鼠标悬浮在该处时,字变为白色*/}</style></head><body><ul><li><a class="active" href="#home">主页</a></li><li><a href="#news">新闻</a></li><li><a href="#contact">联系</a></li><li><a href="#about">关于</a></li></ul></div></body></html>

水平导航栏

有两种方法创建横向导航栏。使用内联(inline)浮动(float)的列表项。

这两种方法都很好,但如果你想链接到具有相同的大小,你必须使用浮动的方法。

内联列表项

建立一个横向导航栏的方法之一是指定元素, 下述代码是标准的内联:

li
{display:inline;
}
  • display:inline; - 默认情况下,<li> 元素是块元素。在这里,我们删除换行符之前和之后每个列表项,以显示一行。

浮动列表项

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

对于所有的链接宽度相等,浮动 <li>元素,并指定为 <a>元素的宽度:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>ul{list-style-type: none;padding: 0;margin: 0;}li{background: greenyellow;float: left;padding: 10px;}a{display: block;width: auto;background: #4CAF50;}</style>
</head>
<body>
<ul><li><a href="#home">Home</a></li><li><a href="#news">News</a></li><li><a href="#contact">Contact</a></li><li><a href="#about">About</a></li></ul>
</body>
</html>
  • float:left - 使用浮动块元素的幻灯片彼此相邻
  • display:block - 显示块元素的链接,让整体变为可点击链接区域(不只是文本),它允许我们指定宽度【如果不用block也可以,只需要在li中使用padding效果差不多】
  • width:60px - 块元素默认情况下是最大宽度。我们要指定一个60像素的宽度
HTML文件在写的时候,我们在布局的时候经常会忘记他们有许多透明的边框,以及各种居中问题困扰着我,一番询问后,得到了一下答案。我们需要在一个地方将所有的东西装到一个最外层的容器中去,这个就需要按照我们的需求去定义,比如在制作页面时,设定一个最外层的宽度,然后margin设置为auto【居中】这样把我们想要的这一部分塞进去,就会获得一个整洁的页面。

固定导航条

可以设置页面的导航条固定在头部或者底部:

顶部:

ul {position: fixed;top: 0;width: 100%;
}

底部:

ul {position: fixed;bottom: 0;width: 100%;
}


http://chatgpt.dhexx.cn/article/Wujppqhp.shtml

相关文章

html中网页导航栏设置

以下内容是摘抄博客&#xff1a;https://www.runoob.com/css/css-navbar.html 设计导航窗口在左侧的显示如下&#xff1a; 代码部分则如下&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>菜鸟教程(runoo…

html左侧导航栏右侧显示内容

效果图 代码 复制下来直接运行就可以 <!doctype html> <html lang "en"><head><meta charset "UTF-8"><meta name "viewport"content "widthdevice-width, user-scalableno, initial-scale1.0, maximum-s…

导航栏的HTML的布局方式

1.利用浮动完成布局 以小米导航栏为例 <style>* {padding: 0;margin: 0;/* 通配符全选&#xff0c;取消内外边距的小缝隙 // 不建议使用通配符 */}header {width: 100%;background-color: #333333;/* 设置背景 */}div {width: 1226px;height: 40px;margin: auto;/* 设…

html里制作简单导航栏

今天简单的做了一下网页里的导航栏。 效果如下&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>实验3</title><style type"text/css">ul{/*设置导航栏的框框*/margi…

html中关于侧边导航栏和导航栏的编写

侧边导航栏 <style>.box{width: 50px;height: 50px;background-color: #483957;transition: width .5s,background-color .2s;}.box:hover{background-color: #004FCB;width: 200px;cursor: pointer;}.a1{position: fixed;right: 40px;top: 200px;float: right;}</st…

Html顶部导航栏实现

顶部导航nav栏实现&#xff08;包括一级菜单&#xff0c;二级菜单&#xff09; 实现效果&#xff1a; 代码如下~ Html部分&#xff1a; <!doctype html> <html> <head> <meta charset"utf-8"> <title>顶部导航栏</title> <…

CSS+HTML 顶部导航栏实现

导航栏的实现、固定顶部导航栏、二级菜单实现 效果图&#xff1a; 2018/11/16更新&#xff1a; 最近在使用这个导航栏的时候&#xff0c;发现页面在放大和缩小的情况下&#xff0c;导航栏的布局和显示都有些小问题&#xff0c;所以重新改了一下css部分的代码&#xff0c;重新贴…

导航栏html代码

效果如下 html 代码 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>导航制作</title><link rel"stylesheet" href"css/style.css"><link rel"stylesheet" href"css…

html+css实现页面顶部导航栏

最终效果如下&#xff1a; 接下来&#xff0c;我将从html和css两大部分&#xff0c;逐步为您讲解制作过程 目录 Html 实现布局 创建父栏目 创建子栏目 插入外部样式表&#xff0c;为接下来的css编辑做准备 Css 实现样式 排布文本&#xff0c;设置背景 交互效果的实现 …

HTML侧边导航栏

HTML侧边导航栏 简介&#xff1a;本文用最简洁的语言&#xff0c;来教会读者&#xff0c;如果用htmlcss来制作&#xff0c;侧边导航栏&#xff0c;本案例以手机商城中的部分为例子来制作。 第一步&#xff1a;构建框架 <body><!-- 首先确定导航栏中的内容 每个内容…

用HTML来做导航栏

首先建一个大盒子&#xff0c;名为 box 用于装导航栏里面的部分。代码如下&#xff1a; <div id"box"> <div> 然后再给这个大盒子加一点定义&#xff0c;给他一个长和宽 #box {width: 100%;height: 20px;background-color: rgb(227, 228, 229);font-size…

HTML导航栏的四种制作方法

1.首先&#xff0c;大家可以直接使用html5中的导航栏标签<nav></nav> 具体代码如下 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>导航栏</title></head><body><nav><a href&q…

HTML导航栏制作

目录 logo (即图中的汤姆&#xff01;) Li文字 搜索栏 log 首先建一个大盒子&#xff0c;名为 nav 用于装导航栏里面的部分。代码如下&#xff1a; <div class"nav"></div> .nav{width: 100%;height: 50px;background-color:#f7f7b6; } logo (即图…

HTML网页入门练习——导航栏布局设计

导航栏布局 实现如下导航栏&#xff1a; 首先进行页面需求分析&#xff0c;如图所示导航栏分为三部分&#xff0c;包括标志、导航、用户按钮。为了使结构看起来明显&#xff0c;我们使用色块表示&#xff0c;确保结构正确之后再往里面填充内容。 具体步骤如下&#xff1a; &…

HTML导航栏

效果如图&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>导航栏</title> <style type"text/css">*{margin:0 auto;padding: 0;}.nav {width: 1200px;height: 50px;}ul li {list-s…

HTML网站导航栏的制作

一、导航条的制作 &#xff08;1&#xff09;代码图 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport…

ACwing算法基础课全程笔记(2021年8月12日开始重写+优化)

更好的阅读体验 ※基础模板 2021年8月12日开始对基础课笔记进行重写优化 请大家支持AcWing正版&#xff0c;购买网课能让自己获得更好的学习体验哦~ 链接&#xff1a;https://www.acwing.com/about/ 比赛常用技巧及库函数 1、快速读\快速写 快读 template<typename …

算法基础课——第一章 基础算法(一)

第一章 基础算法&#xff08;一&#xff09; 上课的主要任务是把算法的主要思想给理解清楚&#xff08;虽然讲课的内容和英语差不多&#xff0c;都是以背为主&#xff0c;但是如果不理解算法的话&#xff0c;还是很难应用它的&#xff09;. 所以我们需要对算法思想&#xff0c;…

算法基础课-数学知识

数学知识 第四章 数学知识数论质数约数欧拉函数欧拉定理与费马小定理 拓展欧几里得定理裴蜀定理 中国剩余定理快速幂 高斯消元求组合数卡特兰数 容斥原理博弈论Nim游戏SG函数 第四章 数学知识 数论 质数 质数判定&#xff1a;试除法&#xff0c;枚举时只枚举 i ≤ n i i \leq…

第六章.数据结构与算法基础

目录 第六章.数据结构与算法基础&#xff08;重点&#xff09;第一节.数组与矩阵数组稀疏矩阵 第二节.数据结构的定义第三节.线性表链表详解顺序存储与链式存储对比队列与栈 第四节.广义表第五节.树与二叉树树的概念二叉树的分类二叉树的重要特性二叉树的遍历反向构造二叉树树转…