繁体   English   中英

回声背景图像内联样式未显示

[英]echo background-image inline style not showing

为什么回显背景图像网址不起作用? 我正在尝试使具有相同类的每个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++;} ?>

除了没有显示背景图片,其他一切都正常,我什至将其更改为仅背景,仍然没有运气

像这样做:

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

您必须为$ r ['head']加上单引号,并为字符串和变量echo提供分隔符。

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

首先,我制作一个以颜色命名的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类。

  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
   }
}
 ?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM