【问题标题】:Two separate ways to link a css file to multiple php files in same directory将css文件链接到同一目录中的多个php文件的两种不同方法
【发布时间】:2015-04-16 02:14:53
【问题描述】:

我在同一个目录中有多个 php 文件。

然后我在以下目录中有一个css文件:style/css/fileName.css

我在该目录中的所有 php 文件都通过以下代码链接到样式表:

<link href="style/css/fileName.css" rel="stylesheet" type="text/css"/>

由于某种原因,除非我在样式后面添加“/”,否则不会应用样式,如下所示:

<link href="/style/css/fileName.css" rel="stylesheet" type="text/css"/>

为什么会这样?它们都在同一个目录中。

编辑:我正在讨论的所有文件都在同一索引级别。只有这一个文件需要“/”..如果上述两个链接对于索引级别都是正确的。那么为什么这个文件在 style/css/fileName.css 之前没有“/”会阻止它被样式化呢?

【问题讨论】:

  • 这两个 PHP 文件是否包含&lt;base&gt; HTML 标签?
  • @Jonathan 没有 HTML 标签
  • 为什么不在那些页面中使用相同的样式方法?
  • @saleemnfs 这就是重点......如果我在一个 PHP 文件不会应用样式。所以我不能使用相同的样式方法。

标签: php html css stylesheet


【解决方案1】:

您可以在主配置文件中定义一个包含基本 url 的变量,然后执行以下操作:

$base_url = 'http://mysite';

然后你就这样做

&lt;link href="&lt;?= $base_url; ?&gt;/style/css/fileName.css" rel="stylesheet" type="text/css"/&gt;

或者基本上是绝对路径。你考虑过这个选项吗?

我认为文件的位置不会有问题。

【讨论】:

  • 而且您还可以轻松编辑$base_url变量
【解决方案2】:

在路径开头添加“/”表示“从站点的根目录开始”。去掉最初的斜线意味着“从我们现在的位置开始”。

如果你的php文件在你网站的根目录下,比如http://localhost/index.php,那么href="/style/css/fileName.css"href="style/css/fileName.css"最终指向同一个地方,也就是http://localhost/style/css/fileName.css

如果你的php文件和其他目录不在根目录下(例如,在一个叫做“目录”的目录中,像这样:http://localhost/directory/index.php),那么在那个php文件中使用href="style/css/fileName.css"就相当于@987654327 @

我的猜测是您的 PHP 文件不在根级别,这就是为什么在您的 CSS 文件路径中出现前导斜杠会破坏事情的原因。如果您确实想用斜杠开始您的 CSS 文件的路径(您可能应该这样做,这样您就不必在每个 PHP 文件中为您的 CSS 添加不同的路径,具体取决于它在您的目录中的位置结构),那么您只需要确保您已经确定了从根级别到 CSS 的正确路径。

【讨论】:

    猜你喜欢
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 2014-04-11
    相关资源
    最近更新 更多