IE 8为img标签创建空文本节点

时间:2012-07-11 11:58:50

标签: html css internet-explorer internet-explorer-8

当我尝试添加<img>标记时,IE8会在图片标记后自动添加“空文本节点”。

HTML: -

<html>
<head>
    <title>Railway Services</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="shortcut icon" href="img/icon.png" />
    <link rel="stylesheet" href="css/styles.css" />
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" src="js/script.js"></script>
</head>
<body>
    <div id="header">
        <div id="wrapper">
            <div class="logo">
                <img src="img/logo.png"/>
            </div>
        </div>
    </div>
    <div id="page" class="homePage">
       <div id="wrapper">
          <h1>Home Page</h1>
       </div>
   </div>
   <div id="footer">
      <div id="wrapper">
            <p class="copyRight">Copyright&#169;2012 Railway Services. All rights reserved</p>
      </div>
    </div>
</body>
</html>

styles.css: -

@CHARSET "ISO-8859-1";
body{
   margin:0px;
   padding:0px;
   font-size:12px;
   color:#123456;
   font-family:verdana,_sans,arial;
   text-align:center;
}
#wrapper{
   width:98%;
   margin:0 auto;
}
#page{
   float:left;
   width:100%;
}
p{
   margin:0px;
   padding:0px;
}

/**********************HEADER*********************/

#header{
   float:left;
   width:100%;
}
.logo{
   float:left;
   width:20%;
   height:150px;
   cursor:pointer;
}
.logo img{
   width:100%;
   height:100%;
}

/************************HEADER END***************/

/************************FOOTER*******************/

#footer{
   float:left;
   width:100%;
}

/***********************FOOTER END****************/

查看此图片

in IE8 console

在上图中,您可以看到IE在<img>标记后生成空文本节点

我无法找到为什么IE生成空文本节点。任何人都可以帮助我..?

2 个答案:

答案 0 :(得分:3)

IE向页面中标签之间有空格的任何元素显示此信息。这可能不会造成任何问题。

唯一的考虑因素是您的内容是内联的,并在元素之间添加空格。在这种情况下,您所要做的就是消除标签之间的空白区域。

答案 1 :(得分:2)

在图像标记之后有一个换行符和一些空格用于缩进,这会导致创建一个空文本节点。

如果您编写代码:

<div class="logo"><img src="img/logo.png"/></div>

您将不再拥有空文本节点。

由于它确实是IE特定的,我认为这只是解析器的一个错误。