【问题标题】:echo background-image inline style not showing回显背景图像内联样式未显示
【发布时间】:2016-06-30 02:01:00
【问题描述】:

为什么回显背景图像 url 不起作用? 我正在尝试使具有相同类的每个 div 具有不同的背景图像

<?php
echo "<div class='paket_title' style='background-image :url(\"img1.jpg\"); '>$r[head]</div>";
 ?>

这是我在搜索解决方案后尝试过的代码列表:

echo "<div class='paket_title' style='background-image :url(\"img1.jpg\"); '>$r[head]</div>";

echo "<div class='paket_title' style='background-image :url(\'img1.jpg\');'>$r[head]</div>";

echo "<div class='paket_title' style='background-image :url(\"img1.jpg\");'>$r[head]</div>";

echo '<div class="paket_title" style="background-image:url(\"img1.jpg\");">$r[head]</div>';

echo '<div class="paket_title" style="background-image:url(\'img1.jpg\');">$r[head]</div>';

echo '<div class="paket_title" style="background-image:url('img1.jpg');">$r[head]</div>';

echo '<div class="paket_title" style="background-image:url('img1.jpg');">$r[head]</div>';

echo "<div class='paket_title' style='background-image:url('img1.jpg');'>$r[head]</div>";

echo "<div class='paket_title' style='background-image:url("img1.jpg");'>$r[head]</div>";

echo '<div class="paket_title" style="background-image:url(img1.jpg);">$r[head]</div>';

echo "<div class='paket_title' style='background-image:url(img1.jpg);'>$r[head]</div>";

echo "<div class='paket_title' style='background-image :url(\"img1.jpg\"); '>" . $r['head'] . "</div>";

以上代码均未显示图像。我把图片和这个php文件放在同一个目录下,甚至把图片复制粘贴到我网站文件夹的每个子目录中。

这里是完整的代码:

<?php
 if ($_GET['module']=='paketusaha'){
 $paket = mysql_query("SELECT * FROM paket_usaha ORDER BY id_paket DESC LIMIT 5");
  while ($r=mysql_fetch_array($paket)){
  $id_panel=1;
  $bg=$r['bgcolor'];
switch ($bg) {
  case "red" :
  echo "<div class='paket_title' style='background-image :url(\"img1.jpg\"); '>$r[head]</div>";
  break;

  case "blue" :
  echo "<div class='paket_title' style='background-image :url(\"img2.jpg\"); '>$r[head]</div>";
  break;

  case "yellow" :
  echo "<div class='paket_title' style='background-image :url(\"img2.jpg\"); '>$r[head]</div>";
  break;


}


 echo "
 <img src='paket_usaha/$r[gambar]'></img>
  <div class='harga-pkt'>$r[judul]</div>
   <div id='container'>
    <div class='expandable-panel' id='cp-$id_panel'>
    <div class='expandable-panel-heading bold' style='background-color : $r[headcolor]; color : white;' >
        <h2>klik disini untuk info paket<span class='icon-close-open'></span></h2>
     </div>
    <div class='expandable-panel-content' >
        <p>$r[isi]</p>
    </div>
</div>

"; $id++;} ?&gt;

一切正常,除了背景图片没有显示,我什至把它改成了背景,仍然没有运气

【问题讨论】:

  • 您是否尝试过检查页面并查看实际生成的内容?检查浏览器的控制台也可以帮助您。
  • 如果你有现场网址,请写在这里
  • 好吧,在参数列表 paket-usaha.html :283 之后缺少未捕获的语法错误,但是 html 是由这个 php 文件生成的,经过 3 次检查,我没有发现任何缺失)一切都是正确关闭,这还没有上线,仍在本地主机中
  • 我可以在这里给你截图i.imgur.com/o1PogWI.jpg
  • 您提供的图像上没有未捕获的错误。哪一行是错误?第 283 行?

标签: php html css


【解决方案1】:

好吧,我有一个技巧来完成这项工作

首先我制作一个以颜色命名的 CSS,例如:

.red {
   background-image : url("img1.jpg");
  }
 .blues {
   background-image : url("img2.jpg");
  }

既然 CSS 已经准备好了,只需像这样将类添加到每个 div 中:

  <?php 
     switch ($bg) {
     case "red" :
      echo "<div class='paket_title red' >$r[head]</div>";
      break;

     case "blue" :
       echo "<div class='paket_title blues'>$r[head]</div>";
     break;

      }

就是这样,现在每个 div 都有不同的背景图片,因为每个 div 都有特定的 CSS 类来设置背景图片。

【讨论】:

    【解决方案2】:
    1. 首先将你的 css 和 php 分开。
    2. 并在html中使用php,如下所示,以避免'"的错误。

      <div class='paket_title' style='background-image :url(\"img1.jpg\"); '><?php  echo $r[head];?></div>
      

    您也可以为此使用 if 语句;首先按照您在回答中所说的那样制作css。

    <?php
    while ($r=mysql_fetch_array($paket)){
       if($r % 2 == 0)){
    ?>
           <div class='paket_title red' ><?php echo $r[head];?></div>
    <?php
       }else{
     ?>  
           <div class='paket_title blues' ><?php echo $r[head];?></div>
    <?php
       }
    }
     ?>
    

    【讨论】:

    • 这与这篇文章无关,我会尽快删除这条评论,但请不要在编辑时在人们的帖子中添加粗体(如此随意),并且请不要在任何内容中使用反引号除了代码。 Meta 上有一个关于这些类型编辑的帖子。我们必须花费大量时间来删除您插入的格式。
    【解决方案3】:

    这样做:

    echo "&lt;div class='paket_title' style='background-image :url(\"img1.jpg\"); '&gt;" . $r['head'] . "&lt;/div&gt;";

    您的 $r['head'] 必须有一个单引号,并且您的字符串和变量 echo 必须有一个分隔符。

    【讨论】:

    • 正如您在我的完整代码中看到的那样,没有字符串和变量 echo 的分隔符没有问题,只是这里没有显示的图像是我的完整代码的屏幕截图,如果您有兴趣查看在它:i.imgur.com/o1PogWI.jpg
    猜你喜欢
    • 2021-07-01
    • 2016-07-09
    • 2019-03-19
    • 2013-09-19
    • 2020-12-23
    • 2017-02-14
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    相关资源
    最近更新 更多