【发布时间】:2011-08-22 12:42:18
【问题描述】:
这可能是个愚蠢的问题,但我找不到答案。如何使用 css 设置回显输出样式?我有这个代码:
echo "<div id="errormsg"> Error </div>";
现在它显示语法错误,我认为是因为 errormsg 周围的那些引号。我试过单引号,但没有效果。谢谢
【问题讨论】:
-
你不应该接受你所做的答案,这原本是一个 CSS 问题
这可能是个愚蠢的问题,但我找不到答案。如何使用 css 设置回显输出样式?我有这个代码:
echo "<div id="errormsg"> Error </div>";
现在它显示语法错误,我认为是因为 errormsg 周围的那些引号。我试过单引号,但没有效果。谢谢
【问题讨论】:
在输出 HTML 时,使用单引号更容易,因此您可以在内部使用适当的双引号,如下所示:
echo '<div id="errormsg"> Error </div>';
这将消除您的解析错误...要编辑样式,您需要将 CSS 与 #errormsg 的选择器一起使用,如下所示:
#errormsg {
color: red;
}
【讨论】:
试试
echo "<div id=\"errormsg\"> Error </div>";
【讨论】:
首先,您需要使用单引号将属性值括起来:
echo "<div id='errormsg'> Error </div>";
或者你可以反过来,给:
echo '<div id="errormsg"> Error </div>';
或者你应该转义引号:
echo "<div id=\"errormsg\"> Error </div>";
然后使用 CSS 为结果元素设置样式:
#errormsg {
/* css */
}
您遇到的语法问题是终止字符串,然后在第一个和第二个字符串之间有一个不同的元素,PHP 不知道该怎么做。
【讨论】:
要将双引号放在双引号字符串中,您需要通过在它们之前添加黑斜线来“转义”它们:
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,它应该解释了你想知道的关于这个主题的一切。
【讨论】:
在errormsg 周围使用单引号,您所拥有的应该可以正常工作。或者,但不太整洁,您可以使用反斜杠转义双引号。
echo "<div id='errormsg'> Error </div>";
【讨论】:
您收到语法错误,因为您在由双引号分隔的字符串中包含未转义的双引号。
要么逃避他们
echo "<div id=\"errormsg\"> Error </div>";
或使用单引号
echo '<div id="errormsg"> Error </div>';
浏览器并不关心您是否使用echo 或其他方式生成标记。它只会看到您发送给它的 HTML。
对于上述标记,您可以使用 id 选择器对其进行样式设置:
#errormsg { /* … */ }
将适用级联的通常规则(包括特异性)。
【讨论】:
如果您不想关心单引号或双引号,那么获得答案的更好方法是使用 heredoc 语法。
您的解决方案:
<?php
$heredoc = <<< EOT
<div id="errormsg">Error solved</div>
EOT;
echo "$heredoc";
?>
css:#errormsg{color: green;}
警告:
<<< EOT 之后添加空格
EOT之前添加空格;EOT 和; 之间添加空格
EOT; 之后添加空格
EOT; 必须换行。【讨论】: