Html css文件路径正确,css代码有效,但它不';行不通

Html css文件路径正确,css代码有效,但它不';行不通,html,css,include,stylesheet,Html,Css,Include,Stylesheet,我有一个奇怪又烦人的问题。我有一个css/文件夹和index.html根目录。我在标题中加载css文件,如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lan

我有一个奇怪又烦人的问题。我有一个
css/
文件夹和
index.html
根目录。我在标题中加载css文件,如下所示:

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
    <title>blabla</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="keywords" content="keywords" />
    <meta name="description" content="desc" />

    <!-- style files -->
    <link rel="stylesheet" type="text/css" href="css/reset.css" media="screen" />
    <link rel="stylesheet" type="text/css" href="css/layout.css" media="screen" />
    <link rel="stylesheet" type="text/css" href="css/global.css" media="screen" />
</head>

布拉布拉
但是
css
不起作用:我看到一个普通的
index.html
。我确信css路径是正确的;当我单击“查看源代码”并复制/粘贴css文件路径时,它会显示css文件


另外,当我将css直接复制到
index.html
中时,它也可以工作。有什么问题吗?

试试Firefox和Firebug。查看错误控制台;可能只是一个小的输入错误。

尝试删除媒体属性。我不知道这是否会影响它,但值得一试。

可能不会用作文本/css。是否检查了服务器配置?

相对URL可能错误。为了进一步帮助您,我们需要了解两件事:

  • 打开HTML页面时使用的完整(绝对)URL是什么?检查浏览器地址栏
  • 您可以使用什么完整(绝对)URL在浏览器中单独打开CSS文件

  • 一旦你知道了这两个,你就可以计算出正确的相对路径,以便在
    链接
    标签中使用。

    这可能是jensgram建议的错误的内容类型标题,或者你给出的相对路径(css/…)是错误的,因为页面本身位于不同的文件夹中


    安装Firebug并切换到“网络”选项卡。它将显示文件是否由于错误的URL而无法加载。

    如果加载了资源,请在调试控制台中查找。如果不是,并且您在每个资源中看到此错误:

    ERR_BLOCKED_BY_CLIENT
    

    只需禁用AdBlock插件

    尝试使用以下格式:

    等。虽然不应该禁用,但可能是参数的顺序导致了它。这是我使用的命令,它一直对我有效。我还注意到您有三个
    声明,这是必要的吗?这可能是原因吗?我已经研究过了,
    ……

    无论它们是否是原因,我希望您尽快找到解决方案

    如果使用整个URL作为路径,它是否有效?
    如果是这样的话,你的道路就有问题了。尝试通过添加a/href=“/css/reset.css”

    将其设置为绝对值。通常,对于此类问题,我会:

    • 在css文件中添加类似于
      body{border:10px solid red!important;}
      的样式,并刷新html文件
    • 检查路径和文件名是否有任何输入错误,再次仔细检查,必要时使用复制/粘贴名称
    • 使用版本,如
      href=“css/reset.css?001”
    • 检查服务器上的文件夹和文件权限
    • 尝试将其加载到其他浏览器或“专用模式”

    希望有帮助

    通过删除媒体和类型属性来尝试,可能会奏效

    尝试使用Firebug/Chrome Web Inspector并查看文件是否加载。 可能是web用户没有访问CSS文件的权限,在这种情况下,您应该看到文件无法加载,并且返回401HTTP状态。
    在这种情况下,请尝试设置正确的权限(如果是Unix服务器,则通过CHMOD,0644就足够了)。

    尝试直接转到css文件。 如果您的url是,请尝试。 检查您是否能够打开css。如果没有,您的路径有问题

    请按照上面的屏幕截图创建文件夹结构

    我已经更新了所有的文件和它的工作预期现在

    index.html
    -----------------
    
        <!DOCTYPE html 
             PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    
        <head>
            <title>blabla</title>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            <meta name="keywords" content="keywords" />
            <meta name="description" content="desc" />
    
            <!-- style files -->
            <link rel="stylesheet" type="text/css" href="css/reset.css" media="screen" />
            <link rel="stylesheet" type="text/css" href="css/layout.css" media="screen" />
            <link rel="stylesheet" type="text/css" href="css/global.css" media="screen" />
        </head>
        <body>
        <div id="reset">
            Reset Div
        </div>
    
        <div id="layout">
            Layout Div
        </div>
    
        <div id="global">
            global Div
    
        </div>
    
        </body>
        </html>
    
    ----------
    reset.css
    ----------
    #reset{
    color:green;
    }
    
    ----------
    global.css
    ----------
    
    #global{
        color:red;
    }
    
    -----------
    layout.css
    ------------
    
    #layout{
    color:blue;
    }
    
    index.html
    -----------------
    布拉布拉
    重置Div
    布局分区
    全球分部
    ----------
    reset.css
    ----------
    #重置{
    颜色:绿色;
    }
    ----------
    global.css
    ----------
    #全球的{
    颜色:红色;
    }
    -----------
    布局规则
    ------------
    #布局{
    颜色:蓝色;
    }
    
    当我们运行index.html文件时,我们将得到以下输出

    试试这个

    <link rel="stylesheet" type="text/css" href="../css/reset.css" media="screen"/>
    
    
    


    检查文件权限,您可能没有读取
    css
    文件的权限。为每个人提供阅读权限。

    一些建议

    根据:

    所以我建议使用
    /css/reset.css
    作为路径

    然而,如果这不起作用,我会尝试添加您的网站的整个地址

    有什么给你看的吗

    如果您可以使用PHP,我建议您将以下代码添加到索引文件中,如下所示:

    <?php echo realpath(dirname(__FILE__)); ?>
    
    
    
    您将看到您的绝对路径

    另外,您是否能够使用css的url路径在外部测试站点(如JSFIDLE)上复制您的问题

    只有当您尝试在web上部署时,此解决方案才有帮助,而不是 关于当地环境,但由于这里缺乏细节,我 我想具体说明一下

    我记得有同样的问题,我修复了它,在文件路径之前添加了
    /
    ,因为浏览器需要知道它是从web加载的

    您可以通过在
    css
    路径之前粘贴
    url
    /
    来轻松验证这一点

    比如说

    xxx.xxx.xxx.xxx/path/to/css.css
    
    将不会在运行时加载

    //xxx.xxx.xxx.xxx/path/to/css.css
    
    将被加载

    其他可能是

    • 不正确的权限
    • 走错了路,也许你错过了什么?尝试在开始处或绝对路径处使用斜线

    hmm,css文件显示“304未修改”。在萤火虫网。这意味着它们肯定会被加载。然后转到Firefox错误控制台,让它显示所有消息。如果CSS文件的内容类型头是错误的(通常是text/html而不是text/CSS),它会在那里这样说。(这可能也可以在firebug中的某个地方完成,但我不知道在哪里。)您是否尝试过:“/css/reset.css”css中是否有错误?我猜一个额外的
    {
    会导致文件的整个/其余部分无法运行
    xxx.xxx.xxx.xxx/path/to/css.css
    
    //xxx.xxx.xxx.xxx/path/to/css.css