本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

不含当前目录的相对路径

发布于2025-01-19 22:42     阅读(307)     评论(0)     点赞(10)     收藏(0)


大家好,我有一个带有以下标签的 html 文件:

<link rel="stylesheet" href="/lib/css/classic.css">

问题是当我在浏览器中打开文件时,它会抱怨找不到 classic.css 文件,但是当将当前目录添加到 href 的开头时:

<link rel="stylesheet" href="./lib/css/classic.css">

它只是有效,更糟糕的是,我有一堆类似的文件,每个文件都有数十个这样的相对路径,我该如何解决这个问题?


解决方案


讽刺的是,这与我在 SO 上提出的第一个问题非常相似

localhost您目前正在使用,因此 CSS 文件是从file://协议加载的。当您将代码移动到托管网站时,链接将使用根目录相对前缀 ( /) 自动为您解析。

为了让它们正常工作localhost,您有多种选择:

  • 使用子域名。根域名被视为子域名的根域名。也就是说,site.localhost将解析链接/lib/css/classic.css(尽管localhost/site不会)。在这种情况下,您需要配置服务器以使用虚拟名称托管
  • 利用相对<link>,使用../来向上遍历。这可能看起来像:
    <link rel="stylesheet" href="current/../lib/css/style.css" />
  • 只需使用大量遍历,以确保您到达文档根目录,然后从那里开始工作:
    <link rel="stylesheet" href="../../../../../lib/css/style.css" />
  • 设置<base>URL并使用其中的相对链接:
    <base href="/lib/css">
    <link rel="stylesheet" href="style.css" />

我建议自己使用第四个选项,尽管可能需要进行一些调整。




所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.qianduanheidong.com/blog/article/538972/59d54e9dd1dfc72ac4c2/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

10 0
收藏该文
已收藏

评论内容:(最多支持255个字符)