当在imgcontainer div外面点击链接工作正常时,但是当我点击图像时它没有反应,在IE10上它可以工作并且在Google Chrome上,但在IE8上它没有。
请在下面找到我的CSS代码:
.imgcontainer {
margin: 0 auto;
width: 75px;
height: 27px;
}
.imgcontainer img {
max-width: 75px;
height: 27px;
}
a {
display: block;
height:55px;
width: 100px;
margin-top:5px;
margin-left:10px;
padding-top:15px;
text-align: center;
background-color: #eeeeee;
border-radius: 5px;
font-size: 10px;
font-family: verdana;
font-weight: bold;
text-decoration: none;
color: black;
border: solid 1px #606060;
cursor: pointer;
}
低于我的HTML:
<li>
<ul>
<a href="http://somelink.com">
<div class="imgcontainer">
<img src="img/someimage.png">
</div>
</a>
</li>
有人可以帮忙吗?
答案 0 :(得分:2)
在HTML 5之前,不允许使用块元素保留内联元素。
在早期版本的浏览器中,div
元素不会在a
元素内结束。浏览器在遇到a
元素时将结束div
元素,因此图像容器最终会在链接之外。
使用内联元素,例如span
而不是div
:
<a href="http://somelink.com">
<span class="imgcontainer">
<img src="img/someimage.png">
</span>
</a>
然后设置span
的样式以呈现为块元素(对a
元素执行相同操作就可以了):
.imgcontainer {
display: block;
margin: 0 auto;
width: 75px;
height: 27px;
}
此外,ul
和li
元素似乎使用不当。 li
元素应位于ul
元素内。如果你有另一个列表(这可以解释为什么ul
元素中有li
元素),那么内部列表也必须有li
个元素。