繁体   English   中英

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

[英]How to set background-image using img tag

我有一个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()方法。

如果可能的话,我可能会避免将php脚本放入样式表中。 但是,如果您确实想要,则需要让服务器知道

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

这两个问题都已经在网络上StackOverflow上得到了几次回答,所以我的回答没有什么开创性的。 但是为了完整起见,我将重复回答:

将PHP输出解释为样式表

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

的HTML

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

的PHP

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

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

在.css文件中执行PHP脚本

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

AddType application/x-httpd-php .css

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

您可以简单地内联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>

我无法对此进行测试,但是我敢肯定您会明白我的意思:)

暂无
暂无

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

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