【问题标题】:Cannot link to CSS in HTML无法链接到 HTML 中的 CSS
【发布时间】:2015-12-08 20:01:28
【问题描述】:

我无法链接到 HTML 中的 CSS,但路径是正确的。我已经尝试了所有方法,即使魔法也无济于事。

  • HTML 路径是romanchenko_test_task/templates/hello.html
  • CSS 路径是romanchenko_test_task/static/first-style.css

你好.html:

<!DOCTYPE HTML>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="/static/first-style.css">
    </head>
    <body>
        <p> Hello world </p>
    </body>
</html>

first-style.css:

body {
     background: blue;
     color: white;
 }

【问题讨论】:

  • 你能展示你的尝试吗?
  • 这可能适用于服务器,但不适用于您的本地测试。斜线总是让你回到根目录。
  • @Jdsfighter 给出的答案肯定会奏效。在文件夹之前添加 ../ 将指向子文件夹的根目录。在您的情况下, /static/ 的根目录,即 romanchenko_test_tas。
  • @Meeseeks,我使用龙卷风网络服务器,所以当我运行“python main.py”时,我得到“WARNING:tornado.access:404 GET /static/first-style.css (127.0. 0.1) 0.65ms"
  • @ItAssistors,不,它没有帮助。

标签: html css


【解决方案1】:

您的相关链接不正确。

您的两个文件夹路径是:

romanchenko_test_task/templates/hello.html
romanchenko_test_task/static/first-style.css

所以要离开templates 文件夹,您需要使用../ 上一级

试试:

<link rel="stylesheet" type="text/css" href="../static/first-style.css">

【讨论】:

  • 或者,如果您正在运行一个 Web 服务器,则将有一个文档根目录,然后您的原始路径应该可以工作,因为 / 将指向 romanchenko_test_task。如果您没有设置开发网络服务器,请尝试 MAMP——它既快速又简单。
  • 谢谢,但它不起作用。我有 404 GET /static/first-style.css
  • 我用的是 Linux,所以 MAMP 不适合。
  • 您使用什么来提供网页服务?灯?
【解决方案2】:

谢谢大家。

<link rel="stylesheet" type="text/css" href="../static/first-style.css"> 

将 CSS 链接到 HTML 正确。我的问题是我忘记为静态文件(*.css)编写处理程序,所以 tornado(python 框架)无法识别它们。

亨德勒应该是这样的:

handlers=[(r'/', MainHandler)],
    template_path=os.path.join(os.path.dirname(__file__), "templates"),
    static_path=os.path.join(os.path.dirname(__file__), "static"),
    debug=True)

【讨论】:

    【解决方案3】:

    您从中调用 CSS 的目录不正确。 你应该使用C:/romanchenko_test_task/static/first-style.css(整个目录)来调用它。

    【讨论】:

    • 这是不是好的做法,因为它只适用于您的个人计算机,假设文件直接存储在C:/ 目录中,我非常怀疑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-06
    • 2016-07-06
    • 2022-01-21
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    相关资源
    最近更新 更多