无法在Apache 2.2中显示CSS背景图像

时间:2013-08-12 08:40:00

标签: css apache

这是一个奇怪的问题: 我刚刚配置了我的Apache httpd服务器。我写了一个简单的test.php,它工作正常。 然后我写了一个css文件,看起来像:

.home div.sma{
     background:url('../images/carlos.png') 50% 0px no-repeat; 
}

问题是:

正确加载css文件,所有其他样式都可以正常工作。它唯一的问题是使用background:url在CSS文件中引用的所有图像都不起作用,但在PHP文件(<img src="" />)中直接引用的所有图像都能正常工作。

我已尝试将../images/carlos.png替换为http://stacktoheap.com/images/stackoverflow.png,问题仍然存在。

奇怪的问题,是否有人有解决方案?

2 个答案:

答案 0 :(得分:0)

关于test.php的类引用是好的吗?

在home元素类中,类名为sma的div:

<div class="home">
<div class="sma></div>
</div>

您可以设置边框以查看div.sma的大小是否合适......

你在apache中放了一些特殊的安全参数吗?

答案 1 :(得分:0)

好的,问题解决了。事实证明这是php.ini的一个问题:

PHP代码使用short_open_tags(<? //code ?>)生成某些类名,但Windows中默认为short_open_tag(在Mac和Ubuntu中为On)。因此,即使CSS文件被正确加载,一些选择器也找不到相应的类名,因为它们尚未生成。

顺便说一下,在检查Chrome中的元素时,我还遇到某些CSS文件被归类为Images,这给调试带来了麻烦。要解决此问题,只需删除background:url(path)为空字符串的所有path语句。