这可能是个愚蠢的问题,但我找不到答案。如何用css设置echo输出的样式?我有这段代码:
echo "<div id="errormsg"> Error </div>";
现在它显示语法错误,我想是因为有关errormsg的引用。我试过单引号,但没有效果。谢谢
答案 0 :(得分:13)
输出HTML时,使用单引号更容易,因此您可以在内部使用正确的双引号:
echo '<div id="errormsg"> Error </div>';
这将消除您的解析错误...要编辑样式,您需要使用带有#errormsg
选择器的CSS,如下所示:
#errormsg {
color: red;
}
答案 1 :(得分:7)
试
echo "<div id=\"errormsg\"> Error </div>";
答案 2 :(得分:4)
首先,您需要使用单引号括起属性值:
echo "<div id='errormsg'> Error </div>";
或者你可以改变这一点,给予:
echo '<div id="errormsg"> Error </div>';
或者你应该逃避引号:
echo "<div id=\"errormsg\"> Error </div>";
然后使用CSS为结果元素设置样式:
#errormsg {
/* css */
}
您遇到的语法问题是终止字符串然后在第一个和第二个字符串之间有一个不同的元素的结果,PHP不知道该怎么做。
答案 3 :(得分:2)
要在双引号字符串中加入双引号,您需要在它们前面加上黑色字符来“转义”它们:
echo "<div id=\"errormsg\"> Error </div>";
在这种情况下,另一种选择是使用单引号作为其中一种。
echo "<div id='errormsg'> Error </div>";
echo '<div id="errormsg"> Error </div>';
PHP的文档有a section explaining the different string syntaxes,它应该解释您想要了解的有关此主题的所有内容。
答案 4 :(得分:1)
在errormsg
周围使用单引号,你所拥有的应该可以正常工作。或者,但不那么整洁,你可以用反斜杠转义双引号。
echo "<div id='errormsg'> Error </div>";
答案 5 :(得分:1)
您收到语法错误,因为您在由双引号分隔的字符串中包含未转义的双引号。
要么逃避他们
echo "<div id=\"errormsg\"> Error </div>";
或使用单引号
echo '<div id="errormsg"> Error </div>';
浏览器不关心您是否使用echo
或其他内容生成标记。它只会看到您发送给它的HTML。
对于上面的标记,您可以使用id选择器设置样式:
#errormsg { /* … */ }
级联的通常规则(包括特异性)将适用。
答案 6 :(得分:0)
如果您不想关心单引号或双引号,那么实现答案的更好方法是使用 heredoc语法。
< br />
您的解决方案:
<?php
$heredoc = <<< EOT
<div id="errormsg">Error solved</div>
EOT;
echo "$heredoc";
?>
css:
#errormsg{color: green;}
警告:
<<< EOT
之间添加空格EOT
必须换行。