我真的面临一个奇怪的问题。以下是代码的代码和示例图片
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">
答案 0 :(得分:1)
问题中仍有一堆错别字,如果仔细观察......但我明白你的意思......你在问为什么class属性的位置会影响结果。
几乎可以肯定的是,那里有一个无关的引号或者类似的东西会破坏你的HTML。 $row[category_id']
包含什么?如果有机会在那里有引号,你可以尝试str_replace('"', '', $row[category_id]);
答案 1 :(得分: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错误之后,它将不属于该标记,因为它已被错误中断。
答案 2 :(得分:1)