”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何使用 HTML 和 CSS 创建导航栏

如何使用 HTML 和 CSS 创建导航栏

发布于2024-11-04
浏览:237

How to Create a Navigation Bar Using HTML and CSS

精心设计且功能齐全的导航栏(navbar)是任何网站的关键组件之一。它充当用户的路线图,帮助他们浏览各个页面。导航栏通常位于网页的顶部,用户始终可以看到它来访问关键链接。在本文中,我们将探讨如何使用 HTML 和 CSS 创建一个具有视觉吸引力和功能性的 CSS 导航栏。我们还将讨论确保导航栏保持在页面顶部的各种技术。

您可以查看此导航栏的现场演示,并通过访问 CodePen 上的预览来探索其功能。

以下代码片段演示了如何创建带有徽标、菜单项和号召性用语按钮的响应式导航栏。 HTML 和 CSS 代码如下:


  
    
    
    Navbar
    
  

  
    
  


分解代码
让我们仔细看看如何使用 HTML 和 CSS 创建导航栏。

HTML结构

代码的 HTML 部分很简单。它由一个 nav 元素组成,该元素包含三个主要组件:

  • 徽标(图像)
  • 带有可点击链接的 **菜单 **列表(主页、关于我们、联系我们、博客)
  • 一个**按钮**,充当号召性用语(立即致电)
  • 该结构被包装在一个元素内,该元素充当导航栏的容器。


徽标是使用 如何使用 HTML 和 CSS 创建导航栏 标签创建的。菜单是一个无序列表(

    )
,包含列表项(
  • )
  • ,每个列表项都有一个锚标记 () 创建到不同页面的链接。最后,按钮是一个带有样式的简单标签。

    使用 CSS 设计样式

    神奇的事情发生在 CSS 部分,我们在其中定义导航栏的布局和外观。让我们讨论一些关键要素。

    背景和身体造型
    主体具有从蓝色 (#2258c3) 过渡到粉红色 (#fd2df3) 的渐变背景。高度设置为 100vh(视口高度),这可确保背景填充整个屏幕,并且没有边距以避免页面周围出现不必要的空间。

    body {
      background: linear-gradient(0deg, #2258c3 10%, #fd2df3 90%);
      height: 100vh;
      margin: 0;
      padding-top: 10px;
    }
    
    

    导航栏样式

    导航栏有白色背景和圆角(边框半径:30px)。内边距和边距在导航栏内部和外部创建间距。 display: flex 属性使导航栏成为弹性框,允许其子元素水平对齐。 justify-content: space- Between 确保徽标、菜单和按钮均匀分布。

    .navbar {
      display: flex;
      background: #fff;
      border-radius: 30px;
      padding: 10px 20px;
      margin: 0 auto;
      width: 95%;
      justify-content: space-between;
      align-items: center;
    }
    
    

    将导航栏固定到顶部

    导航栏的关键功能之一是在滚动时保持在页面顶部。为了实现这一点,我们使用position:fixed属性。这允许导航栏保持固定在顶部 (top: 0) 无论滚动如何。此外,z-index: 9999 确保导航栏始终位于页面上其他元素的上方。

    .navbar {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 9999;
    }
    
    

    菜单项和交互性

    菜单项使用 .menu 类上的 display: flex 水平显示。这些项目通过边距指定间距,并且每个项目的样式都被设置为删除默认列表样式和填充。菜单项中的链接没有文字装饰,并且采用粗体和深色样式。

    链接上的悬停效果会更改颜色以匹配蓝色背景颜色(#2258c3),提供链接是交互式的视觉提示。

    .menu {
      display: flex;
      list-style-type: none;
      margin: 0;
      padding: 0;
    }
    
    .item {
      margin: 0 15px;
    }
    
    .item a {
      text-decoration: none;
      color: #333;
      font-weight: bold;
    }
    
    .item a:hover {
      color: #2258c3;
    }
    
    

    按钮样式

    按钮的样式为蓝色背景(#2258c3)、白色文本和圆角(border-radius: 20px)。悬停时,背景变为粉红色 (#fd2df3) 以匹配背景中的渐变。

    button {
      background-color: #2258c3;
      color: white;
      border: none;
      padding: 10px 20px;
      border-radius: 20px;
      cursor: pointer;
    }
    
    button:hover {
      background-color: #fd2df3;
    }
    
    

    如何保持导航栏始终位于顶部

    要使用 CSS 将标题固定在页面顶部,请使用position:fixed 属性和 top:0。这可确保导航栏在用户滚动时保持在顶部。下面是它在代码中的应用方式:

    .navbar {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 9999;
    }
    
    
    版本声明 本文转载于:https://dev.to/bitlearners/how-to-create-a-navigation-bar-using-html-and-css-3lp3?1如有侵犯,请联系[email protected]删除
    最新教程 更多>
    • 如何修复 macOS 上 Django 中的“配置不正确:加载 MySQLdb 模块时出错”?
      如何修复 macOS 上 Django 中的“配置不正确:加载 MySQLdb 模块时出错”?
      MySQL配置不正确:相对路径的问题在Django中运行python manage.py runserver时,可能会遇到以下错误:ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Python/2.7/site-...
      编程 发布于2025-01-08
    • Bootstrap 4 Beta 中的列偏移发生了什么?
      Bootstrap 4 Beta 中的列偏移发生了什么?
      Bootstrap 4 Beta:列偏移的删除和恢复Bootstrap 4 在其 Beta 1 版本中引入了重大更改柱子偏移了。然而,随着 Beta 2 的后续发布,这些变化已经逆转。从 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
      编程 发布于2025-01-08
    • 在 Go 中使用 WebSocket 进行实时通信
      在 Go 中使用 WebSocket 进行实时通信
      构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSocke...
      编程 发布于2025-01-08
    • HTML 格式标签
      HTML 格式标签
      HTML 格式化元素 **HTML Formatting is a process of formatting text for better look and feel. HTML provides us ability to format text without us...
      编程 发布于2025-01-08
    • 尽管代码有效,为什么 POST 请求无法捕获 PHP 中的输入?
      尽管代码有效,为什么 POST 请求无法捕获 PHP 中的输入?
      解决 PHP 中的 POST 请求故障在提供的代码片段中:action=''而不是:action="<?php echo $_SERVER['PHP_SELF'];?>";?>"检查 $_POST数组:表单提交后使用 var_dump 检查 $_POST 数...
      编程 发布于2025-01-08
    • 如何在 PHP 中组合两个关联数组,同时保留唯一 ID 并处理重复名称?
      如何在 PHP 中组合两个关联数组,同时保留唯一 ID 并处理重复名称?
      在 PHP 中组合关联数组在 PHP 中,将两个关联数组组合成一个数组是一项常见任务。考虑以下请求:问题描述:提供的代码定义了两个关联数组,$array1 和 $array2。目标是创建一个新数组 $array3,它合并两个数组中的所有键值对。 此外,提供的数组具有唯一的 ID,而名称可能重合。要求...
      编程 发布于2025-01-08
    • 插入数据时如何修复“常规错误:2006 MySQL 服务器已消失”?
      插入数据时如何修复“常规错误:2006 MySQL 服务器已消失”?
      插入记录时如何解决“一般错误:2006 MySQL 服务器已消失”介绍:将数据插入 MySQL 数据库有时会导致错误“一般错误:2006 MySQL 服务器已消失”。当与服务器的连接丢失时会出现此错误,通常是由于 MySQL 配置中的两个变量之一所致。解决方案:解决此错误的关键是调整wait_tim...
      编程 发布于2025-01-08
    • 大批
      大批
      方法是可以在对象上调用的 fns 数组是对象,因此它们在 JS 中也有方法。 slice(begin):将数组的一部分提取到新数组中,而不改变原始数组。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index p...
      编程 发布于2025-01-08
    • 如何使用 MySQL 查找今天生日的用户?
      如何使用 MySQL 查找今天生日的用户?
      如何使用 MySQL 识别今天生日的用户使用 MySQL 确定今天是否是用户的生日涉及查找生日匹配的所有行今天的日期。这可以通过一个简单的 MySQL 查询来实现,该查询将存储为 UNIX 时间戳的生日与今天的日期进行比较。以下 SQL 查询将获取今天有生日的所有用户: FROM USERS ...
      编程 发布于2025-01-08
    • C++ 中的数字文字中的“ULL”后缀表示什么?
      C++ 中的数字文字中的“ULL”后缀表示什么?
      数字文字的数据类型后缀:揭开“ULL”的秘密在编程领域,数字文字起着至关重要的作用在代码中表示数值。程序员会遇到带有后缀的数字文字,例如“ULL”,它们包含隐藏的含义并影响代码解释值的方式。这样的后缀“ULL”在编码人员中引起了疑问。它有什么意义吗,还是只是一个巧合?为了解开这个谜团,我们深入研究数...
      编程 发布于2025-01-08
    • 除了“if”语句之外:还有哪些地方可以在不进行强制转换的情况下使用具有显式“bool”转换的类型?
      除了“if”语句之外:还有哪些地方可以在不进行强制转换的情况下使用具有显式“bool”转换的类型?
      无需强制转换即可上下文转换为 bool您的类定义了对 bool 的显式转换,使您能够在条件语句中直接使用其实例“t”。然而,这种显式转换提出了一个问题:“t”在哪里可以在不进行强制转换的情况下用作 bool?上下文转换场景C 标准指定了四种值可以根据上下文转换为的主要场景bool:语句:if、whi...
      编程 发布于2025-01-08
    • 前端挑战 - 十二月魅力我的标记:冬至 ☃️
      前端挑战 - 十二月魅力我的标记:冬至 ☃️
      这是前端挑战赛 - 12 月版的提交内容,Glam Up My Markup:冬至 我建造了什么 我为冬至创建了一个有趣且引人注目的登陆页面!它有很酷的动画、可以交互的按钮以及移动和变化的视觉效果。我还确保它在所有设备上都能正常运行,并且易于每个人使用。 主要功能包括: 美丽的冬季主...
      编程 发布于2025-01-07
    • 如何在编译过程中检查 C++11 支持?
      如何在编译过程中检查 C++11 支持?
      在编译时确定 C 11 支持C 程序员通常需要确定其编译器是否支持 C 11 的特定功能,以确保与其代码的兼容性。下面是如何实现这一点:利用 __cplusplus 常量一些编译器提供了一个名为 __cplusplus 的常量,它指示支持的 C 标准版本。以下示例检查 C 11 支持:#if __c...
      编程 发布于2025-01-07
    • 如何正确声明Python源代码编码?
      如何正确声明Python源代码编码?
      正确声明 Python 源代码编码PEP 263 概述了声明 Python 源代码编码的标准实践。虽然典型约定涉及使用“# --编码: --”,但遇到使用“# --编码:--".那么,编码声明的正确形式是什么?根据Python文档, Python 脚本第一行或第二行中与以下正则表达式匹配的...
      编程 发布于2025-01-07

    免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

    Copyright© 2022 湘ICP备2022001581号-3