我真的面临着一个奇怪的问题。下面是下面的代码和代码的示例图片
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">发布于 2012-05-14 13:28:16
如果你仔细观察,问题中仍然有一大堆打字错误。但我明白你的意思..。您正在询问为什么class属性的位置会影响结果。
几乎可以肯定的是,在那里有一个无关的引号或类似的标记,它正在破坏你的html。$row[category_id']包含什么?万一里面有个引号,你可以试试str_replace('"', '', $row[category_id]);
发布于 2012-05-14 14:11:10
只要您的值是经过清理的,唯一会导致这种情况的就是您的PHP在内联语句中抛出一个错误,该错误会破坏标记标记。
<tag foo="bar" bar="<?php echo foo(); ?>"></tag>在本例中,如果foo()函数引发了一个错误,而PHP插入了一个很大的错误报告,那么它最终将如下所示:
<tag foo="bar" bar="Error Statement:
Error details...
> Error echoes HTML markup characters.
Error trace information (line: 263)"></tag>错误中包含的任何标记字符都会中断标记。因此,如果foo="bar"是在PHP错误之后,它就不属于标记,因为它被错误打断了。
发布于 2012-08-31 20:53:39
我太愚蠢了。我使用了float:left,但没有使用clear。在使用之后,我得到了正确的显示。谢谢大家
https://stackoverflow.com/questions/10577868
复制相似问题