创建导航栏时的填充问题

问题描述 投票:0回答:1

我刚刚开始学习HTML和CSS,我想制作一个导航栏。我遇到了一个问题,当我将鼠标悬停在链接上时,每个链接下面都有这种奇怪的填充,如图 1 和图 2 所示。有没有什么方法可以在不删除填充的情况下解决该问题?

谢谢

图1 图2

*浏览器:Microsoft Edge 126.0.2592.87

<html>
    <head>
        <meta charset="utf-8">

        <title>Blank template</title>

        <!-- Load external CSS styles -->
        <link rel="stylesheet" href="styles.css">

    </head>

    <body>
       <header>

        <nav class="navbar">
            <ul>
                <li><a href="home.html">Home</li>
                <li><a href="projects.html">Projects</li>
                <li><a href="about.html">About</li>
            </ul>
        </nav>

       </header>

        <h1>Yang Tri Phu</h1>
        
    </body>

</html>
h1 {
    text-align: center;
    font-family: "Source Sans Pro", sans-serif;
    font-weight: normal;
}

.navbar ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    background-color: #131842;
}

.navbar a {
    color: white;
    text-decoration: none;
    display: block;
    text-align: center;
    padding: 8px;
}

.navbar a:hover {
    background-color: #405D72;
}

我正在关注此视频,并期待视频中显示的类似结果。

https://www.youtube.com/watch?v=f3uCSh6LIY0&t=232s

视频中的导航栏

html css padding nav
1个回答
0
投票

出现问题是因为您没有关闭

<a>
标签。

<nav>
栏不需要
<ul>
<li>
标签...只需要
<a>
标签。这将导致更简单且更坚固的结构。请参阅此片段。

nav {
  background-color: #131842;
}

nav a {
  color: white;
  text-decoration: none;
  display: block;
  text-align: center;
  padding: 8px;
}

nav a:hover {
  background-color: #405D72;
}

h1 {
  text-align: center;
  font-family: "Source Sans Pro", sans-serif;
  font-weight: normal;
}
<header>

<nav>
  <a href="home.html">Home</a>
  <a href="projects.html">Projects</a>
  <a href="about.html">About</a>
</nav>

</header>

<h1>Yang Tri Phu</h1>
        

© www.soinside.com 2019 - 2024. All rights reserved.