-1

在我正在创建的网页上,该页面是由基于 PHP 的 CMS 动态生成的。CMS 从数据库中获取页面的所有信息,然后将正确的 HTML 标记等回显到页面上。

我遇到的问题是,由于某种原因,我的浏览器将 div 扩展到它的结束标记之外。

IE:即使我可以看到标签关闭,浏览器似乎也没有,因此其中应用的任何样式div都将应用于整个页面。

下面是 HTML 输出。(这是页面的摘录,标题 div 是持久的)。

<div id="header">
 <table>
  <tr>
   <td style="width: 10%;">
    <img style="height: 120px; width: 101px;" src="img" alt="some alt">
   </td>
   <td>
    <h2>Heading</h2>
    <h3>Subhead</h3>
   </td>
  </tr>
 <table>
</div>
<div id="menubar">

我还包括了下一个的开幕div

h2如果我尝试设置和h3内部的样式div,页面上的所有h2h3标记都会受到影响。这是我的CSS:

#header h2 {
    font-size: 24pt;
    font-weight: 900;
    color: #776F65;
    letter-spacing: 0;
    line-height: 0;
}

#header h3 {
    font-weight: 900;
    color: #776F65;
    letter-spacing: 0;
    padding-left: 35px;
}

最后,这是我用来生成 HTML 输出的 PHP 代码:

echo('<div id="header">'); // HEADER ELEMENT BEGINS HERE
    while($row = mysql_fetch_array($getHeaderElements)) {
        echo($row['content']);
    }
echo('</div>'); // End Header Element.

我使用的浏览器是谷歌浏览器。

有谁知道为什么会发生这种奇怪的行为?

问候,本。

4

1 回答 1

3

的“结束”标签<table>实际上是另一个表的开始标签。

此错误可能是您的问题的原因。

验证您的标记,这是发现此类错误的一种廉价方法。

于 2013-02-12T10:51:18.330 回答