如何使用img标签设置背景图像

时间:2013-03-05 01:39:24

标签: php html css

我有一个php方法,它将返回一个html IMG标记。例如ImageClass::getImage('sample.png' , 'myTilte')将返回一个字符串<img src="sample.png" title="mtTilte" />

在我的css文件中有我使用过的地方     

        div.error {
        background-image: url('sample.png');
        background-repeat: no-repeat;
        }
    

我如何使用ImageClass::getImage方法代替css中的url()方法来获取背景图片。

2 个答案:

答案 0 :(得分:3)

如果可能的话,我可能会避免将php脚本放在样式表中。但如果你真的想要,你需要让服务器知道

  1. 将您的PHP输出解释为样式表
  2. 在CSS文件中执行PHP脚本
  3. 这两个问题已经被across the webStackOverflow回答了几次,所以我的回答并不是开创性的。但为了完整起见,我会重复这个答案:

    将PHP输出解释为样式表

    首先链接.php文件而不是.css文件。然后在PHP文件中设置Mime类型,以便服务器将其输出解释为CSS。在代码术语中,它看起来像这样:

    <强> HTML

    <link rel="stylesheet" href="style.php">
    

    <强> PHP

    在任何文本输出之前输入以下代码

    header("Content-type: text/css");
    

    在.css文件

    中执行PHP脚本

    另一种方法需要一些服务器配置。在Apache上,最简单的方法是将其添加到.htaccess file

    AddType application/x-httpd-php .css
    

    这将导致Apache在.css文件中执行与.php文件相同的操作:即查找PHP脚本并执行它。

答案 1 :(得分:0)

你可以简单地做内联CSS。

<?php 
$image = ImageClass::getImage('sample.png','myTitle');
$bg_img = explode(" ",$image);
$src = substr(strpos('"',$bg_img),strlen($bg_image)-1);
echo "<div style='background-image: url(".$src.");' ></div>

我无法测试这个,但我相信你明白了我的意思:)。