将css文件链接到同一目录中的多个php文件的两种不同方法

时间:2015-04-16 02:14:54

标签: php html css stylesheet

我在同一目录中有多个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阻止它被设置样式之前?

2 个答案:

答案 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的正确路径。