导航栏-李悬停-点击Link

Navigation Bar - Li Hover - Click On Link

导航栏出现问题(再次)。 鼠标悬停在li的中心时只能点击li,不能在bottom的顶部...我试过切换LIs和As,所以:

<a><li></li></a>

但是那也行不通...

谢谢, 水螅

参见:http://jsfiddle.net/rksyqf37/

HTML:

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="main.css"/>
</head>

<body>

    <ul id="nav">
        <a href="li1.html"><li title="li1">li1</a></li>
        <a href="li2.html"><li title="li2">li2</a></li>
        <a href="li3.html"><li title="li3">li3</a></li>
        <a href="li4.html"><li title="li4">li4</a></li>         
        <a href="li5.html"><li title="li5">li5</a></li>
        <a href="li6.html"><li title="li6">li6</a></li>
        <a href="li7.html"><li title="li7">li7</a></li>
        <a href="li8.html"><li title="li8">li8</a></li>
    </ul>

</body>
</html>

CSS:

body {
    background-image: url("http://static.tumblr.com/97f4b171db68d6ef1836c8fcb9a1c1a3/oi8jcug/xIcn5vql3/tumblr_static_aajc47nn2ds8c0k004gskoo0c.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    padding: 0px;
    margin: 0px;
}

#nav {
    height: 50px;
    line-height: 50px;
    background-color: #1C1C1C;
    font-size: 0px;
    text-decoration: none;
    width: 100%;
    text-align: center;
    font-family: sans-serif;
}

#nav li {
    display: inline-block;
    font-size: 25px;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
    border-right: 1px solid white;
    height: 50px;
}

#nav li:first-child {
    border-left: 1px solid white;
}

#nav li:hover {
    border-bottom: 2px solid white;
}

#nav a {
    color: white;
    text-decoration: none;
    margin: 0px;
    padding: 0px;
}

HTML

<ul id="nav">
    <a href="li1.html"><li title="li1">li1</li></a>
    <a href="li2.html"><li title="li2">li2</li></a>
    <a href="li3.html"><li title="li3">li3</li></a>
    <a href="li4.html"><li title="li4">li4</li></a>         
    <a href="li5.html"><li title="li5">li5</li></a>
    <a href="li6.html"><li title="li6">li6</li></a>
    <a href="li7.html"><li title="li7">li7</li></a>
    <a href="li8.html"><li title="li8">li8</li></a>
</ul>

The Closing tags were wrong it should be </li> followed by </a> but it was </a></li>

Updated Fiddle

如前所述,您的 HTML 标签 <a><li> 放置错误。 但是对于您的第一个问题,您只需将 display: inline-block; 添加到 a 选择器。 顺便说一句,从 li 中删除填充并将其添加到您的 a.

您不能将 li 标签与其他标签包装在一起。 li 标签应始终是 ulol 紧随其后的标签。

而且您无法在 a 周围点击,因为默认情况下它是一个内联标签。这就是为什么你必须添加 inline-block 属性 允许最好的内联和最好的块 ;)

upated jsfiddle

我们可以使用Jquery为LI项目添加点击事件,如下所示。 为此,在 LI 项目中添加锚标记

  $(document).ready(function() {
     $("#nav li:has(a)").click(function() {
         window.location = $("a:first",this).attr("href");
     });
  });
<ul id="nav">
   <li title="li1"><a href="li1.html">li1</a></li>
 <li title="li2"><a href="li2.html">li2</a></li>
 <li title="li3"><a href="li3.html">li3</a></li>
 <li title="li4"><a href="li4.html">li4</a></li>

</ul>

你错了 html: <a><li></a></li> 而不是 <li><a></a></li>.