如何让 link 在导航菜单的整个高度上可点击

How to get link to be clickable on the full height of the navigation menu

我创建了一个 40 像素高的导航栏。我希望 link 可以在整个菜单上单击 - 而不仅仅是单词 'home'、'about' 等

有什么建议吗?

HTML:

 <div id="nav">
      <ul>
       <li><a href="index.html">Home</a></li>
       <li><a href="About.html">About</a></li>
       <li><a href="Gallery.html">Gallery</a></li>
       <li><a href="Services.html">Services Information</a></li>
       <li><a href="Contact.html">Contact</a></li>
      </ul>
  </div>

CSS:

#nav {
  height: 100%;
  width: 100%;
  background-color: black;
  color: #fff;
}       
#nav ul {
        background-color: black;
        float: right;
        list-style-type: none;
        margin: 0px;
        padding: 0px;
}               
#nav ul li {
        color: #fff;
        float: left;
        padding: 20px;
}
#nav ul li a {
        color:#fff;
        text-decoration: none;
        line-height: 40px;
        font-weight: bold;
        font-size: 26px;
        display: block;
        width: 100%;
        height:100%;
}
#nav ul li:hover {
        color: #75b2de;
        background-color: #222;
}
#nav ul li a:hover {
        color: #75b2de;
        background-color: #222;
}

Fiddle 在这里: https://jsfiddle.net/yesdeer/6v2Ljnod/7/

去除 li 元素的填充并向 - 添加填充,这应该可以解决问题。然后你只需要考虑这些填充的参数就可以了。

#nav ul li {
    /* padding: 20px; */
}

#nav ul li a{
    padding: 20px; 
}

添加到 Andrzej Answer 您也可以使用高度和行高。

#nav ul li a {
    color: #fff;
    text-decoration: none;
    line-height: 80px;
    font-weight: bold;
    font-size: 26px;
    display: block;
    /* width: 100%; */
    height: 80px;
    padding: 0 20px;
}