请在这里查看我的jsfiddle - http://jsfiddle.net/ftuZ5/。我知道为什么链接不起作用,因为我用来创建我想要的链接/菜单背景的相对位置是覆盖一个元素,但我无法弄清楚如何解决问题(尝试过相对和z-index在li和a元素上,再加上额外的div来跨越一个元素,使用它来创建“按钮”风格的背景),但都无济于事。
li {
list-style: none;
}
.side-nav li {
padding-bottom: 3.125em;
width: 100%;
line-height: 1.25em;
text-align: center;
}
.side-nav a {
position: relative;
top: 1.75em;
z-index: -1;
display: block;
color: white;
text-decoration: none;
background: #c7cbaf;
-webkit-border-radius: 48px;
-moz-border-radius: 48px;
-ms-border-radius: 48px;
-o-border-radius: 48px;
border-radius: 48px;
padding-top: 1.375em;
padding-bottom: 0.75em;
text-transform: uppercase;
}
.responsive-side-nav {
background: transparent url(http://thewebbakery.co.uk/assets/graphics/responsive-icon-sml.png) no-repeat top center;
}
.interactive-side-nav {
background: transparent url(http://thewebbakery.co.uk/assets/graphics/interactive-icon-sml.png) no-repeat top center;
}
.ux-side-nav {
background: transparent url(http://thewebbakery.co.uk/assets/graphics/ux-icon-sml.png) no-repeat top center;
}
有人可以帮忙吗?
答案 0 :(得分:0)
如果将标签显示为“块”
,则必须在标签上设置高度和宽度答案 1 :(得分:0)
这是一个可能的解决方案:
<nav class="side-nav" role=navigation>
<ul>
<li><a href="#"><div id="responsive-side-nav" class="side-nav-image"></div>Responsive Web Design</a></li>
<li><a href="#"><div id="interactive-side-nav" class="side-nav-image"></div>Interactive Web Design</a></li>
<li><a href="#"><div id="ux-side-nav" class="side-nav-image"></div>User Experience</a></li>
</ul>
通过将锚标签包裹在图像的新div周围,整个事物变得可点击。
然后您可以根据需要定位图像(我为每个图像创建了一个公共类):
.side-nav-image
{
width: 100%;
height: 50px;
margin-top: -50px;
}
唯一的缺点是按钮的命中区域增加到适合图像的大小。但是如果你想让图像重叠,同时让整个图像可以点击,我不确定是否可能。