将<li>嵌套在<a></a> </li>中

时间:2014-01-12 17:00:04

标签: html css html5 css3

我有一个导航系统,其中列表项在顶部和底部都有填充,我希望整个区域都可以点击。

我曾经将列表项嵌套在锚标记(<a href="#"><li>Home</li></a>)中,但是当我验证我的代码时,它说这是不允许的。

我现在已将它换成圆形,但现在整个列表项区域不可点击,只有文字。

HTML:

<nav id="my-menu">
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="activities.html">Activites</a></li>
        <li><a href="team.html">Team Building</a></li>
        <li><a href="downloads.html">Downloads</a></li>
        <li><a href="social.html">Social</a></li>
        <li><a href="contact.html">Contact</a></li>
    </ul>
</nav>

CSS:

header ul{
    float:right;
    position: relative;
    top:0;
    right:0;
    transition: all 350ms;
}

header li{
    float: left;
    padding-top: 61px;
    padding-bottom: 61px;
    margin-top: 20px;
    margin-bottom: 20px;
    padding-left: 10px;
    padding-right: 10px;
    font-weight: 500;
    position: relative;
    top: 0;
    font-size: 3em;
    transition: all 350ms;
}

header li a{
    color: #FFFFFF;
    font-family: 'Wire One', 'Arial Narrow', Verdana, sans-serif;
}

header li a:hover{
    color: #FFFFFF;
}

header li:hover{
    background: rgba(0,0,0,0.35);
}

nav{
    display: inline;
}

3 个答案:

答案 0 :(得分:1)

您需要将填充应用于<a>,而不是<li>,以便<a>占用<li>的整个大小。您还需要将<a>设置为display:block

答案 1 :(得分:1)

lia代码交换填充样式:

header li a{
    color: #FFFFFF;
    font-family: 'Wire One', 'Arial Narrow', Verdana, sans-serif;
    padding-top: 61px;
    padding-bottom: 61px;
    padding-left: 10px;
    padding-right: 10px;
}

答案 2 :(得分:1)

将链接显示为块:

nav a{
    display: block;
}