Css IE7“的原因”;文本-空文本节点“;

Css IE7“的原因”;文本-空文本节点“;,css,internet-explorer,internet-explorer-7,cross-browser,Css,Internet Explorer,Internet Explorer 7,Cross Browser,我正在使用IE web developer工具栏解决一个问题。列表项下面出现了一个空白,我无法从逻辑上解释原因。使用Webdev工具栏,我看到在下面的示例1中,“Text-Google”下面输出了一个“Text-Empty Text节点”。具有讽刺意味的是,在第二种情况下,在单词“Google”后手动插入一个空格,该文本节点不再出现。如果结果是相反的,对我来说是完全有意义的。你知道是什么导致了这种奇怪的行为吗 注意:这发生在IE7中,但不是IE8中 <li><a href="w

我正在使用IE web developer工具栏解决一个问题。列表项下面出现了一个空白,我无法从逻辑上解释原因。使用Webdev工具栏,我看到在下面的示例1中,“Text-Google”下面输出了一个“Text-Empty Text节点”。具有讽刺意味的是,在第二种情况下,在单词“Google”后手动插入一个空格,该文本节点不再出现。如果结果是相反的,对我来说是完全有意义的。你知道是什么导致了这种奇怪的行为吗

注意:这发生在IE7中,但不是IE8中

<li><a href="www.google.com">Google</a></li> - empty text node appears at end

<li><a href="www.google.com">Google </a></li> - no empty text node
  • -空文本节点显示在末尾
  • -无空文本节点
    更新:好的,我已经缩小了这个问题的范围。基本上,我使用的一些属性之间似乎存在冲突。我需要将a标记显示为块,这样当有多行时,它们将正确换行。但我也不需要在项目之间的空白。我不太清楚为什么这个空的空间可以解决这个问题,我不想只是“破解”它

    
    A.
    {
    显示:块;
    }
    锂
    {
    缩放:1;
    }
    

    这可能与“has layout”有关,您的缩放:1可能会起作用,也可以尝试以下方法之一:

    li { display: block; }
    li { width: auto; }
    li { width: 100%; }
    
    如果您试图使列表显示为水平菜单,则可能必须使用display:inline或float:left来反作用这些操作

    希望这会有所帮助,既然
    是块级元素,您也必须给它一个布局

    a
    {
        display:block;
        zoom:1;
    }
    

    我也看到过这样的情况:图像被空div包围,在这些图像中,这个丑陋的“文本节点”创建的空白将div向下推

    <div class="top"></div>
    <img src="image.jpg" />
    <div class="bottom"></div>
    
    
    
    我的解决方案是将图像包装在一个div中:

    <div class="top"></div>
    <div><img src="image.jpg" /></div>
    <div class="bottom"></div>
    

    我在处理一个内联列表时遇到了类似的问题。IE7在我的每个列表元素后面都添加了少量的空间。我很难追踪这个问题,但我最终发现HTML中的空白导致了空白。我去掉了空白,一切都修复了。请参见下面的前后示例:

    <!-- Before -->
    <ul>
         <li><a href="#">My Account</a></li>
         <li><a href="#">Support</a></li>
         <li class="last"><a href="#">Logout</a></li>
    </ul>
    
    <!-- After -->
    <ul>
         <li><a href="#">My Account</a></li><li><a href="#">Support</a></li><li class="last"><a href="#">Logout</a></li>
    </ul>
    
    
    

    希望这能帮助别人

    使用Asp.Net时,我将
    标记替换为
    标记,这样做很有效


    我知道最初的问题不是关于Asp.Net的,但我在自己的探索中偶然发现了它

    我通过向图像添加对齐拖拽解决了这个问题,如下所示(我使用DTD HTML 4.01过渡版):

    以前

    <div class="OpenParagraph"></div>
    <div><img alt="-" width="489" height="1" border="0"  src="/image/fadeBigBorder.gif"></div>
    <div class="OpenParagraph"></div>
    
    
    
    之后


    我遇到了这个问题的一个变体,它是我在本机视图中IE9列表项左侧的一个幻影点 解决方案是将此样式应用于LI元素

    LIST-STYLE-TYPE: none;
    

    hth

    我遇到了这个问题,我意识到doctype和html标记不是最新的

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    
    
    
    我在IE7的标记中遇到了类似的问题,解决方案与上面修复
  • 标记的家伙相同,只是不要在and标记中断线,问题已修复

    IE在一些事情上有一些有趣的问题。在那条线之后和之前会发生什么?从我所能看出没有什么不寻常的。前面是ul,后面是另一个li。我会看看是否我不能隔离这个问题并发布html。谢谢-仍在尝试探索hasLayout问题。这是我必须做的,但我觉得肯定应该有更好的解决方案,我现在一个(APX 20)中有几行代码,这是一个噩梦。
    LIST-STYLE-TYPE: none;
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>