我有一个导航系统,其中列表项在顶部和底部都有填充,我希望整个区域都可以点击。
我曾经将列表项嵌套在锚标记(<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;
}
答案 0 :(得分:1)
您需要将填充应用于<a>
,而不是<li>
,以便<a>
占用<li>
的整个大小。您还需要将<a>
设置为display:block
。
答案 1 :(得分:1)
从li
到a
代码交换填充样式:
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;
}