2011-11-23 47 views
0

我正在处理一个分页类的东西,它只是一个浮动的锚标签里面的div。现在,在IE7中,它在这里和那里插入空的文本节点,看似随意,这打破了布局。IE7在浮动元素之间创建空文本笔记

结果:它的外观在不同的页面 Example of how it looks on different pages. Note the empty text nodes.

例。请注意空文本节点。整洁,嗯?

CSS:

.nwsPaging { 
    width:200px; /* Have also tried fluid size */ 
    height:30px; 
    display:block; } 

.nwsPaging a {  
    width:auto; /* Have also tried fixed size */ 
    margin:0 0 0 1px; 
    padding:2px 8px; 
    border:solid 1px #ccc; 
    background:#eee; 
    float:left;  
    line-height:20px;   
    display:block; 
    zoom:1; 
    vertical-align:top; /* Should not do any difference */ } 

.nwsPaging a:hover, .nwsPaging .isActive { 
    background:#D150A1; 
    color:#fff; 
    display:block; /* Should be redundant, but just in case */ 
    zoom:1; } 

正如你所看到的,我已经尝试了一些不同的东西,包括设置在容器和浮动标签都有效固定宽度,再加上给它的hasLayout。 .isActive类没有什么特别之处,如果我从不添加类,它没有任何区别。

我在不同的系统中有完全相同的问题,但我不记得我是如何修复它的。我无法访问代码,检查员也没有帮助。

奖励信息: 该网站建立在HTML5Boilerplate,它使用normalize reset CSS

编辑: 标记是非常简单的,虽然标签是动态创建的,应该是没有换行符这有可能创建空文本节点。

应该如何呈现标记为解析:

<div class="nwsPaging clearfix"> 
    <a href="foo">Previous</a> 
    <a href="bar">1</a> 
    <a href="bar" class="isActive">2</a> 
    <a href="bar">3</a> 
    <a href="baz">Next</a> 
</div> 
+0

我找不到前段时间看过的文章,检查是否记得正确,但是如果您尝试显示:block for the containing div,那么它不应该(我认为)为文本节点留出空间? – Helen

+0

你可以制作[jsFiddle](http://jsfiddle.net/)或[JS Bin](http://jsbin.com/)测试用例吗? – thirtydot

+0

@Helen 我已经尝试使父级块元素(虽然作为一个div,它应该已经是),以及设置固定和流体宽度,我试过漂浮它,使clearfixes遍布,设置位置等 – Nix

回答

0

这实际上可能在你的代码行分解引起的。

剥去它们,看看它是否仍然如此。

+0

我看到你来自哪里,但这不应该成为这种情况下的问题。标签是动态创建的,标记中不应该有换行符。 – Nix

+0

重新访问后,似乎很可能是问题所在,但它是在CMS中动态创建的,因此我无法控制它。不幸的是,他们不愿意修复这个非常小的错误。 :/ – Nix

相关问题