我希望在某个目录('example.com/image.jpg')中打开每个图像文件以加载一个 css 文件,这样我就可以使图像以 100% 的宽度加载。
编辑:要清楚,我知道我必须通过加载一个带有 CSS 的 HTML 文件来做到这一点,我真正的问题是如何使用 CSS 样式而不是目录本身来定位文件。
为什么不使用 htaccess 中的重写规则通过 HTML 文件加载它们,您可以在其中指定 CSS?图片本身不能使用 CSS。
一个解决方案是 a) 将您的图片移动到可以访问但不直接在用户将访问的路径中的位置,b) 创建一个 php 文件(或其他),将参数从 htaccess 传递到某些 HTML 内容和 c)创建一个执行重定向的 htaccess,除非您直接访问实际文件所在的文件夹,否则您将有一个无限循环的重定向
因此,我创建了 2 个文件:fullscreen.php 和 .htaccess。然后,我创建了一个名为 /img/ 的文件夹,图像所在的位置。
我保持 fullscreen.php 尽可能简单,随时改进风格!
<?
if(isset($_GET['img']))
{
$imageParam = $_GET['img'];
echo "<html><head><style>html { background: url($imageParam) no-repeat center center fixed; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }</style></head><body></body></html>";
}
else
{
echo "Image not provided";
}
然后在 .htaccess 我添加了一个具有条件的重写规则 - 如果路径包含 /img/ 则不处理该规则
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/img/
RewriteRule ^(.*).png$ fullscreen.php?img=/img/$1.png [L,NC]
</IfModule>
我相信这就是你要找的东西?