我在同一目录中有多个php文件。
然后我在以下目录中有一个css文件:style / css / fileName.css
该目录中的所有php文件都通过以下代码链接到样式表:
<link href="style/css/fileName.css" rel="stylesheet" type="text/css"/>
除了一个文件由于某种原因,除非我添加&#34; /&#34;否则不会应用样式。在风格背后看起来如下:
<link href="/style/css/fileName.css" rel="stylesheet" type="text/css"/>
为什么会这样?它们都在同一个目录中。
编辑:我正在讨论的所有文件都处于相同的索引级别。只有这一个文件需要&#34; /&#34; ..如果上述两个链接都适用于索引级别。那么为什么这个文件没有&#34; /&#34;在style / css / fileName.css阻止它被设置样式之前?
答案 0 :(得分:0)
您可以在主配置文件中定义一个包含基本URL的变量,并执行以下操作:
$base_url = 'http://mysite';
然后你就做了
<link href="<?= $base_url; ?>/style/css/fileName.css" rel="stylesheet" type="text/css"/>
或者基本上是绝对路径。你考虑过这个选择吗?
我认为这样对文件的位置不会有问题。
答案 1 :(得分:-1)
添加&#34; /&#34;在路径的开头意味着从网站的根开始。&#34;抛弃最初的斜线意味着从我们现在的位置开始。&#34;
如果您的php文件位于您网站的根目录(例如http://localhost/index.php
),则href="/style/css/fileName.css"
和href="style/css/fileName.css"
最终指向同一位置,即http://localhost/style/css/fileName.css
< / p>
如果您的php文件和其他目录不在根级别(例如,在名为&#34;目录&#34;的目录中,如下所示:http://localhost/directory/index.php
),那么使用href="style/css/fileName.css"
在那个php文件中等同于href="http://localhost/directory/style/css/fileName.css"
我的猜测是你的PHP文件不在根级,这就是为什么CSS文件路径中存在前导斜杠会破坏的原因。如果你想用斜杠开始你的CSS文件路径(你可能应该这样做,这样你就不必在每个PHP文件中添加不同的CSS路径,具体取决于它在哪里你的目录结构)然后你只需要确保你已经确定了从根级别到CSS的正确路径。