更新:
如果我将ul
替换为li
并删除ul
并应用相关内容,则div
/ li
似乎只会出现此问题样式到a
而不是罚款。 ID'仍然知道为什么ul
/ li
结构会出现问题,因为已明确重置边距/填充。
我在IE7中遇到固定位置元素的孩子。他们似乎从某个地方获得了宽度/边距/填充,但我无法辨别在哪里或如何解决它。
您可以在jsFiddle here中查看一下。我添加了bg颜色只是为了调试。 image / li标签应该是黄色的,并且在IE8以及mozilla和webkit中。但是在IE7中,左边有一个额外的~20px的空间将它们推过去,好像li
,a
或img
标签有一个边距。但是,如果我查看IEDevToolbar中的属性,则不会应用边距或填充。此外,即使我为所有内容分配宽度并使用IEDevToolbar直接在每个元素上将边距/填充为零,也会发生这种情况。
我完全迷失了这个。
以下是相关代码......有问题的布局上有一个XHTML 1.0 Transitional文档类型:
<style type="text/css">
.social-widgets {
position: fixed;
top: 125px;
left: 0px;
background: #f00;
width: 34px;
}
.social-widgets-content {
list-style: none inside none;
margin: 0;
padding: 0;
text-align: left;
background: #ff0;
}
.social-widgets-content li {
margin: 10px 0 !important;
padding:0;
width: 34px;
background: #0f0;
}
.social-widgets-content img {
display:block;
border-top: 2px solid #e9e8e8;
border-bottom: 2px solid #e9e8e8;
border-right: 2px solid #e9e8e8;
padding: 0px; margin:0px;
background: #00f;
}
</style>
<div class="social-widgets">
<ul class="social-widgets-content">
<li><a href="#"><img src="/images/button/button.facebook.png"></a></li>
<li><a href="#"><img src="/images/button/button.twitter.png"></a></li>
<li><a href="#"><img src="/images/button/button.feedback.png"></a></li>
</ul>
</div> <!-- /.social-widgets -->
答案 0 :(得分:2)
这与position:fixed;
无关。这是列表样式的问题。使用list-style: none inside none;
时,尽管标记设置为none
,IE7仍会为列表标记添加间距。解决方案是设置list-style-type: none;
而不是使用速记。