Html IE中的表格格式有什么问题?

Html IE中的表格格式有什么问题?,html,html-table,format,Html,Html Table,Format,这只发生在IE中,当我将标记为“中间表”的表放入这个HTML中时,父表的对齐方式变得混乱,第一个TD上的宽度=250似乎被忽略。选择框应该从页面左侧250像素处开始,但它不是。移除标记为“中间桌子”的桌子,对齐工作正常。为什么会这样 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html

这只发生在IE中,当我将标记为“中间表”的表放入这个HTML中时,父表的对齐方式变得混乱,第一个TD上的宽度=250似乎被忽略。选择框应该从页面左侧250像素处开始,但它不是。移除标记为“中间桌子”的桌子,对齐工作正常。为什么会这样

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>asdf</title>
</head>
<body>
<table id="tbl_container" width="1300" cellpadding="0" cellspacing="0" border="1">
 <tr style="height: 50px;">
  <td align="center" style="width: 250px;"><img src="logo.gif" alt="asdf" /></td>
  <td valign="middle" align="left" style="text-align: left;"><span class="bold">asdf:  </span><select class="form_select_"><option value="asdf">asdf</option></select></td>
 </tr>
 <tr id="row_container" align="left" valign="top">
  <td colspan="2">
<!-- middle table -->
   <table cellpadding="0" cellspacing="0" border="0">
    <tr>
     <td style="width: 250px;" align="left" valign="top" id="nav_container"></td>
     <td style="width: 25px;" align="left" valign="top"></td>
     <td id="dat_container" style="width:1000px;" align="left"></td>
    </tr>
   </table>
  </td>
 </tr>
 <tr style="height: 50px;">
  <td></td>
  <td></td>
 </tr>
</table>
</body>
</html>
1000+250+25>1250

您的中间桌子太宽了

1000+250+25>1250


您的中间表太宽

根据,您的XHTML包含六个错误。更具体地说,被忽略的width=250属性无效。无效标记的主要问题是,由于浏览器被迫使用变通方法,因此无法获得连贯的跨浏览器渲染。试着先解决这个问题。一般来说,布局应该通过CSS完成。

根据,您的XHTML包含六个错误。更具体地说,被忽略的width=250属性无效。无效标记的主要问题是,由于浏览器被迫使用变通方法,因此无法获得连贯的跨浏览器渲染。试着先解决这个问题。一般来说,布局应该通过CSS来完成。

您对网站布局采取了一种非常古老的方法。在网站中使用表格来布局任何本质上不是表格的东西是一个巨大的禁忌。你应该使用符合标准的CSS和HTML div、span等来布局你的网站。每个浏览器对表的处理方式都不同,因此很难使用它们获得一致、功能强大、易于维护的布局


我不想这么说,但我真的无法用表格来帮助您解决当前的问题。我唯一的答案是重新启动,使用DIV标签和CSS,享受符合标准的布局带来的喜悦。不要使用style=属性来设置所有CSS,请使用适当的样式表。

您对网站布局采取了一种非常古老的方法。在网站中使用表格来布局任何本质上不是表格的东西是一个巨大的禁忌。你应该使用符合标准的CSS和HTML div、span等来布局你的网站。每个浏览器对表的处理方式都不同,因此很难使用它们获得一致、功能强大、易于维护的布局


我不想这么说,但我真的无法用表格来帮助您解决当前的问题。我唯一的答案是重新启动,使用DIV标签和CSS,享受符合标准的布局带来的喜悦。不要使用style=属性来设置所有CSS,请使用适当的样式表。

当所有的都说了和做了之后,简短的答案是…因为IE可以被重新启动。也就是说,这里有一个解决方法:

首先,你要做的是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
<head></head> 
<body> 
<table width="1000" border="1"> 
 <tr> 
  <td width="250" style="background-color:blue;">a1</td> 
  <td style="background-color:green;" >a</td> 
 </tr> 
 <tr> 
  <td colspan="2" style="background-color:red;"> 
       <table> 
        <tr> 
         <td width="1000">c2</td> 
        </tr> 
       </table> 
  </td> 
 </tr> 

</table> 
</body> 
</html>
请注意,第一行中的第二个td没有指定宽度。如果你知道宽度应该是多少,那么你可以这样解决这个问题:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
<head></head> 
<body> 
<table width="1000" border="1"> 
 <tr> 
  <td width="250" style="background-color:blue;">a1</td> 
  <td width="750" style="background-color:green;" >a</td> 
 </tr> 
 <tr> 
  <td colspan="2" style="background-color:red;"> 
       <table> 
        <tr> 
         <td width="1000">c2</td> 
        </tr> 
       </table> 
  </td> 
 </tr> 

</table> 
</body> 
</html>

我确实同意其他人所说的,css是前进的方向,但这不是你的问题。希望这能有所帮助。

说到底,简短的回答是……因为IE可以很好地重新启动。也就是说,这里有一个解决方法:

首先,你要做的是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
<head></head> 
<body> 
<table width="1000" border="1"> 
 <tr> 
  <td width="250" style="background-color:blue;">a1</td> 
  <td style="background-color:green;" >a</td> 
 </tr> 
 <tr> 
  <td colspan="2" style="background-color:red;"> 
       <table> 
        <tr> 
         <td width="1000">c2</td> 
        </tr> 
       </table> 
  </td> 
 </tr> 

</table> 
</body> 
</html>
请注意,第一行中的第二个td没有指定宽度。如果你知道宽度应该是多少,那么你可以这样解决这个问题:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
<head></head> 
<body> 
<table width="1000" border="1"> 
 <tr> 
  <td width="250" style="background-color:blue;">a1</td> 
  <td width="750" style="background-color:green;" >a</td> 
 </tr> 
 <tr> 
  <td colspan="2" style="background-color:red;"> 
       <table> 
        <tr> 
         <td width="1000">c2</td> 
        </tr> 
       </table> 
  </td> 
 </tr> 

</table> 
</body> 
</html>

我确实同意其他人所说的,css是前进的方向,但这不是你的问题。希望这会有帮助。

不会解决问题。在第二个td中添加一个宽度=1000,即背景为top-bg.gif的td会有所帮助,这次我检查了。我记得,如果不是第一行的所有表格单元格都有宽度参数,IE会忽略任何宽度参数。可能是错误的,但不确定。但无法解决问题。将宽度=1000添加到第二个td(背景为top-bg.gif的td)会有所帮助,这一次我选中了。我记得,如果不是第一行的所有表格单元格都有宽度参数,IE会忽略任何宽度参数。可能是错的,但不确定。