echo background-image内联样式未显示

时间:2016-06-30 02:01:01

标签: php html css

为什么回显背景图片网址不起作用? 我试图让同一个班级的每个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++;} ?>

除了背景图像没有显示外,一切都运行正常,我甚至将它改为背景但仍然没有运气

3 个答案:

答案 0 :(得分:0)

这样做:

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

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

答案 1 :(得分:0)

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

首先我制作一个以颜色命名的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 :(得分:0)

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

    <div class='paket_title' style='background-image :url(\"img1.jpg\"); '><?php  echo $r[head];?></div>
    
  3. 你也可以使用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
       }
    }
     ?>