3

我真的面临一个奇怪的问题。这是以下代码和代码的示例图片

HTML

<div id="showCatagory_<?php echo $row['catagory_id']; ?>" class="left"  style="display:block">
<?php echo $value; ?>
</div>

CSS

.left { float:left }

当我使用它<div id="showCatagory_<?php echo $row['catagory_id']; ?>" class="left" style="display:block">时,我得到以下图片,这是错误的

在此处输入图像描述

如果我使用<div class="left" id="showCatagory_<?php echo $row['catagory_id']; ?>" style="display:block">,那么我得到正确的对齐,如下图所示

在这里,我将class="left"id 放在后面以使其正确。谁能告诉我为什么

在此处输入图像描述

谁能告诉我为什么

<div class="left" id="showCatagory_<?php echo $row['catagory_id']; ?>" class="left"  style="display:block">

不同于

<div id="showCatagory_<?php echo $row['catagory_id']; ?>" class="left" style="display:block">
4

3 回答 3

1

只要您的价值观得到净化;唯一会导致这种情况的是您的 PHP 在破坏标记标记的内联语句中抛出错误。

<tag foo="bar" bar="<?php echo foo(); ?>"></tag>

在此示例中,如果foo()函数引发错误,而 PHP 插入了一个大错误报告,则 HTML 最终将如下所示:

<tag foo="bar" bar="Error Statement:
Error details...
  > Error echoes HTML markup characters.
Error trace information (line: 263)"></tag>

错误中包含的任何标记字符都会破坏标记。因此,如果foo="bar"在 PHP 错误之后,它将不属于该标记,因为它已被错误中断。

于 2012-05-14T06:11:10.373 回答
1

如果你仔细观察,问题中仍然有一堆错别字......但我明白你的意思......你在问为什么类属性的位置会影响结果。

几乎可以肯定那里有一个无关的引号或类似的东西正在破坏您的 html。包含什么$row[category_id']?万一里面有引号,你可以试试str_replace('"', '', $row[category_id]);

于 2012-05-14T05:28:16.210 回答
1

我犯傻了。我使用了 float:left 但没有使用 clear。使用后,我得到了正确的显示。感谢大家

于 2012-08-31T12:53:39.163 回答