我需要将背景图片设置为回显 <div>
I need to set background image to echoed <div>
将背景图片发布到回显 div,我从数据库中获取要用于特定 div 的图片名称,但是当我尝试将文件路径设置为背景图片时,如您在下面的代码不起作用,我也试过了
style='background-image: url('<?php echo $imageLocation; ?>')'
。
所以它与 div 相呼应,但他的背景没有改变,我在用作文件路径的文件夹中有正确的图像。我将不胜感激,
if (mysqli_num_rows($res) > 0) {
while ($row = mysqli_fetch_assoc($res)) {
$img = $row['img'];
define ('SITE_ROOT', $_SERVER['DOCUMENT_ROOT']);
$imageLocation = SITE_ROOT."images/articlePics/$img";
$posts .= "<div class='newArticle' style='background-image: url('$imageLocation')'></div>";
}
echo $posts;
}
要么删除变量周围的引号:
url('$imageLocation')
^ ^
所以它读作:
url($imageLocation)
或使用转义双引号:
url(\"$imageLocation\")
旁注:不要在没有转义双引号的情况下使用 url("$imageLocation")
,因为那样会引发解析错误。
两者都可以。但是,我会选择后者,即转义双引号,这是应该使用的方法。
根据 https://developer.mozilla.org/en/docs/Web/CSS/background-image
的示例
background-image: url("http://www.example.com/bck.png");
- 查看 HTML 来源后,它会显示一条 "No space between attributes" 消息。
如果仍然失败,您可能在某处有语法错误。
参考文献:
"I also tried style='background-image: url('<?php echo $imageLocation; ?>')'
"
如果你在 echo 中尝试这样做,那会抛出一个解析错误;因为你已经在 PHP.
如果它在 PHP 之外,那么以下内容也会起作用:
<?php
// ...
?>
<body>
<div style='background-image: url("<?php echo $imageLocation;?>")'></div>
</body>
但是,由于 div 里面什么也没有,它实际上不会向您显示任何内容。如果您查看 HTML 源,您会发现图像源实际上就在那里。如果不是,再一次;你可能在某处有错误。
所以你可以用一些文本来测试它,例如:
<?php
// ...
?>
<body>
<div style='background-image: url("<?php echo $imageLocation;?>")'>Some text</div>
</body>
或:
<body>
<?php
$article = "Your article";
?>
<div style='background-image: url("<?php echo $imageLocation;?>")'>
<?php echo $article;?>
</div>
</body>
将背景图片发布到回显 div,我从数据库中获取要用于特定 div 的图片名称,但是当我尝试将文件路径设置为背景图片时,如您在下面的代码不起作用,我也试过了
style='background-image: url('<?php echo $imageLocation; ?>')'
。
所以它与 div 相呼应,但他的背景没有改变,我在用作文件路径的文件夹中有正确的图像。我将不胜感激,
if (mysqli_num_rows($res) > 0) {
while ($row = mysqli_fetch_assoc($res)) {
$img = $row['img'];
define ('SITE_ROOT', $_SERVER['DOCUMENT_ROOT']);
$imageLocation = SITE_ROOT."images/articlePics/$img";
$posts .= "<div class='newArticle' style='background-image: url('$imageLocation')'></div>";
}
echo $posts;
}
要么删除变量周围的引号:
url('$imageLocation')
^ ^
所以它读作:
url($imageLocation)
或使用转义双引号:
url(\"$imageLocation\")
旁注:不要在没有转义双引号的情况下使用 url("$imageLocation")
,因为那样会引发解析错误。
两者都可以。但是,我会选择后者,即转义双引号,这是应该使用的方法。
根据 https://developer.mozilla.org/en/docs/Web/CSS/background-image
的示例background-image: url("http://www.example.com/bck.png");
- 查看 HTML 来源后,它会显示一条 "No space between attributes" 消息。
如果仍然失败,您可能在某处有语法错误。
参考文献:
"I also tried
style='background-image: url('<?php echo $imageLocation; ?>')'
"
如果你在 echo 中尝试这样做,那会抛出一个解析错误;因为你已经在 PHP.
如果它在 PHP 之外,那么以下内容也会起作用:
<?php
// ...
?>
<body>
<div style='background-image: url("<?php echo $imageLocation;?>")'></div>
</body>
但是,由于 div 里面什么也没有,它实际上不会向您显示任何内容。如果您查看 HTML 源,您会发现图像源实际上就在那里。如果不是,再一次;你可能在某处有错误。
所以你可以用一些文本来测试它,例如:
<?php
// ...
?>
<body>
<div style='background-image: url("<?php echo $imageLocation;?>")'>Some text</div>
</body>
或:
<body>
<?php
$article = "Your article";
?>
<div style='background-image: url("<?php echo $imageLocation;?>")'>
<?php echo $article;?>
</div>
</body>