【问题标题】:How to set background-image using img tag如何使用 img 标签设置背景图像
【发布时间】:2013-03-05 01:39:24
【问题描述】:

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

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

div.错误{ 背景图片:url('sample.png'); 背景重复:不重复; }

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

【问题讨论】:

  • background-image (div) 和 src (img) 不同。

标签: php html css


【解决方案1】:

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

  1. 将 PHP 输出的内容解释为样式表
  2. 在您的 CSS 文件中执行 PHP 脚本

这两个问题都已在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 脚本并执行它。

【讨论】:

    【解决方案2】:

    你可以简单地做 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>
    

    我无法对此进行测试,但我相信你明白我的意思:)

    【讨论】:

      猜你喜欢
      • 2017-07-28
      • 1970-01-01
      • 2012-02-13
      • 1970-01-01
      • 2018-04-08
      • 2017-04-12
      • 1970-01-01
      • 2014-01-03
      • 1970-01-01
      相关资源
      最近更新 更多