首页 web前端 css教程 如何使用 HTML 和 CSS 创建导航栏

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

Aug 22, 2024 am 06:39 AM

How to Create a Navigation Bar Using HTML and CSS

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

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

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


  
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Navbar</title>
    <style>
      body {
        background: linear-gradient(0deg, #2258c3 10%, #fd2df3 90%);
        height: 100vh;
        margin: 0;
        padding-top: 10px;
      }

      .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;
        left: 0;
        right: 0;
        z-index: 9999;
      }

      .logo {
        width: 12rem;
      }

      .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;
      }

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

      button:hover {
        background-color: #fd2df3;
      }
    </style>
  

  
    <nav class="navbar">
      <img class="logo lazy" src="/static/imghw/default1.png" data-src="https://bitlearners.com/wp-content/uploads/2024/06/BitLearners-logo-1.png" alt="如何使用 HTML 和 CSS 创建导航栏">

      <ul class="menu">
        <li class="item"><a href="#">Home</a></li>
        <li class="item"><a href="#">About Us</a></li>
        <li class="item"><a href="#">Contact Us</a></li>
        <li class="item"><a href="#">Blog</a></li>
      </ul>

      <button type="submit">Call Now</button>
    </nav>
  


登录后复制

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

HTML结构

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

  • 徽标(图像)
  • 带有可点击链接的**菜单**列表(主页、关于我们、联系我们、博客)
  • 一个**按钮**,充当号召性用语(立即致电)
  • 该结构被包装在一个元素内,该元素充当导航栏的容器。
<nav class="navbar">
  <img class="logo lazy" src="/static/imghw/default1.png" data-src="logo-url" alt="如何使用 HTML 和 CSS 创建导航栏">
  <ul class="menu">
    <li class="item"><a href="#">Home</a></li>
    <li class="item"><a href="#">About Us</a></li>
    <li class="item"><a href="#">Contact Us</a></li>
    <li class="item"><a href="#">Blog</a></li>
  </ul>
  <button type="submit">Call Now</button>
</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属性。这允许导航栏保持固定在顶部(顶部: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)、白色文本和圆角(边框半径: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;
    }
    
    
    登录后复制
    登录后复制

    以上是如何使用 HTML 和 CSS 创建导航栏的详细内容。更多信息请关注PHP中文网其他相关文章!

    本站声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    Video Face Swap

    Video Face Swap

    使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

    热门文章

    <🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
    4 周前 By 尊渡假赌尊渡假赌尊渡假赌
    北端:融合系统,解释
    4 周前 By 尊渡假赌尊渡假赌尊渡假赌
    Mandragora:巫婆树的耳语 - 如何解锁抓钩
    3 周前 By 尊渡假赌尊渡假赌尊渡假赌

    热工具

    记事本++7.3.1

    记事本++7.3.1

    好用且免费的代码编辑器

    SublimeText3汉化版

    SublimeText3汉化版

    中文版,非常好用

    禅工作室 13.0.1

    禅工作室 13.0.1

    功能强大的PHP集成开发环境

    Dreamweaver CS6

    Dreamweaver CS6

    视觉化网页开发工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神级代码编辑软件(SublimeText3)

    热门话题

    Java教程
    1671
    14
    CakePHP 教程
    1428
    52
    Laravel 教程
    1329
    25
    PHP教程
    1276
    29
    C# 教程
    1256
    24
    静态表单提供商的比较 静态表单提供商的比较 Apr 16, 2025 am 11:20 AM

    让我们尝试在这里造成一个术语:“静态表单提供商”。你带上html

    使Sass更快的概念证明 使Sass更快的概念证明 Apr 16, 2025 am 10:38 AM

    在一个新项目开始时,Sass汇编发生在眼睛的眨眼中。感觉很棒,尤其是当它与browsersync配对时,它重新加载

    每周平台新闻:HTML加载属性,主要的ARIA规格以及从iframe转移到Shadow dom 每周平台新闻:HTML加载属性,主要的ARIA规格以及从iframe转移到Shadow dom Apr 17, 2025 am 10:55 AM

    在本周的平台新闻综述中,Chrome引入了一个用于加载的新属性,Web开发人员的可访问性规范以及BBC Move

    带有HTML对话框元素的一些动手 带有HTML对话框元素的一些动手 Apr 16, 2025 am 11:33 AM

    这是我第一次查看HTML元素。我已经意识到了一段时间,但是尚未将其旋转。它很酷,

    纸张形式 纸张形式 Apr 16, 2025 am 11:24 AM

    购买或建造是技术的经典辩论。自己构建东西可能会感觉更便宜,因为您的信用卡账单上没有订单项,但是

    '订阅播客”链接应在哪里? '订阅播客”链接应在哪里? Apr 16, 2025 pm 12:04 PM

    有一段时间,iTunes是播客中的大狗,因此,如果您将“订阅播客”链接到喜欢:

    托管您自己的非JavaScript分析的选项 托管您自己的非JavaScript分析的选项 Apr 15, 2025 am 11:09 AM

    有很多分析平台可帮助您跟踪网站上的访问者和使用数据。也许最著名的是Google Analytics(广泛使用)

    See all articles