html - 导航栏无法正常工作

标签 html css frontend nav web-frontend

当我将光标放在链接文本的正上方时,链接是不可点击的,但如果我将光标放在文本下方一点点,它就会变成可点击的。我现在正在学习,所以请向我解释为什么这样做以及如何解决它。

HTML

<!DOCTYPE html>
<html Lang="en">
<head>
  <meta charset="utf-8">
  <title>Welcome!</title>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

    *{
      margin: 0;
      padding: 0;
    }
    header{
      width: 1024px;
      margin: 0 auto;
      background-color: #81D4FA;
      height: 50px;
    }
    header h1{
      color: white;
      position: relative;
      left: 100px;
      top: 5px;
    }
    nav{
      margin-top: -20px;
      margin-right: 100px;
    }
    
    nav ul{
      float: right;
      margin: 0;
      padding: 0;
    }
    
    nav ul li{
      list-style-type: none;
        display: inline-block;
    }
    
    nav ul li a{
      text-decoration: none;
      color: white;
      padding: 16px 20px;
    }
    a:hover{
      background-color: #84FFFF;
    }
    .main{
      width: 1024px;
      margin-left: auto;
      margin-right: auto;
    }
    .laptop{
      width: 1024px;
    }
    .title{
      background-color: #0D23FD;
      height: 50px;
      width: 300px;
      position: relative;
      top: -650px;
      left: -10px;
      border-bottom-right-radius: 10px;
      border-top-right-radius: 10px;
    }
    .title h3{
      color: white;
      text-align: center;
      position: relative;
      top: 13px;
    }
      <header>
        <h1>Jack Smith</h1>
          <nav>
            <ul>
              <li><a href="#">About</a></li>
              <li><a href="#">My Work</a></li>
              <li><a href="#">Contact Me</a></li>
            </ul>
          </nav>
      </header>
        <div class="main">
          <img class="laptop" src="images/laptop.jpg">
          <div class="title">
            <h3>Front-End Web developer</h3>
          </div>
        </div>

最佳答案

那是因为你的<h1>是一个 block 级元素,它将覆盖菜单元素。如果给display: inline-block ,它将按预期工作。

A block-level element always starts on a new line and takes up the full width available (stretches out to the left and right as far as it can).

请参阅下面的示例。

* {
  margin: 0;
  padding: 0;
}
header {
  width: 1024px;
  margin: 0 auto;
  background-color: #81D4FA;
  height: 50px;
}
header h1 {
  color: white;
  position: relative;
  left: 100px;
  top: 5px;
  display: inline-block;
  /* Added */
}
nav {
  margin-top: -20px;
  margin-right: 100px;
}
nav ul {
  float: right;
  margin: 0;
  padding: 0;
}
nav ul li {
  list-style-type: none;
  display: inline-block;
}
nav ul li a {
  text-decoration: none;
  color: white;
  padding: 16px 20px;
}
a:hover {
  background-color: #84FFFF;
}
.main {
  width: 1024px;
  margin-left: auto;
  margin-right: auto;
}
.laptop {
  width: 1024px;
}
.title {
  background-color: #0D23FD;
  height: 50px;
  width: 300px;
  position: relative;
  top: -650px;
  left: -10px;
  border-bottom-right-radius: 10px;
  border-top-right-radius: 10px;
}
.title h3 {
  color: white;
  text-align: center;
  position: relative;
  top: 13px;
}
<header>
  <h1>Jack Smith</h1>
  <nav>
    <ul>
      <li><a href="#">About</a>
      </li>
      <li><a href="#">My Work</a>
      </li>
      <li><a href="#">Contact Me</a>
      </li>
    </ul>
  </nav>
</header>
<div class="main">
  <img class="laptop" src="images/laptop.jpg">
  <div class="title">
    <h3>Front-End Web developer</h3>
  </div>
</div>

关于html - 导航栏无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36802428/

相关文章:

html - 试图在矩形 CSS 上实现矩形

javascript - 为什么循环遍历所有 div 的子项 + 删除它们仅在 X 使用后才开始工作?

css - 包含文本的 div 和包含图像的 div 的不同位置

html - div之间的空白

html - div 不会随着内容的增长而拉伸(stretch)

html - CSS布局设计

javascript - 如何通过选择标签更改占位符?

html - 选项卡菜单中的 Bootstrap float div

html - GridView 的CSS

github:即使重新加载浏览器评论也会保留,为什么?