代码之家  ›  专栏  ›  技术社区  ›  Jimmeh Bob

CSS没有设置我的HTML文件的样式,即使它链接正确[关闭]

  •  -1
  • Jimmeh Bob  · 技术社区  · 1 年前

    在我开始之前,我对此相当陌生,我创建了一个新城市网站,所以我从默认页面的html中获取了元数据、标题和链接元素。我在VSCode中编码,我的HTML和CSS文件在同一个文件夹中。我的问题是,尽管据我所知,我做得很好,但我的HTML文件根本没有被CSS文件设置样式。当我在浏览器中打开我的html文件时,我看到的只是我放入的没有样式的元素。我将在下面粘贴我的HTML文件和CSS文件。

    HTML:

    <!DOCTYPE html>
    <html>
      
      <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Pierogi Lover's Personal Site</title>
        <link href="/style.css" rel="stylesheet" type="text/css" media="all">
      </head>
    
      <body>
        <div id="flex-container">
          <div id="main">
            <h1>Welcome!</h1>
          </div>
        </div>
      </body>
    
    </html>
    

    CSS:

    body {
      background-color: rgb(148, 68, 223);
      margin: 50px;
    }
    #main {
      background-color: rgb(198, 173, 221);
      border-radius: 20px;
      border: 3px solid rgb(165, 116, 211);
      margin: 30px;
    }
    

    我已正确链接到CSS文件,当我按住ctrl键并单击link元素中的路径时,它会将我带到正确的文件。我问AI我做错了什么,它没有给我任何东西,无论我尝试什么,或者我如何看待它,我都看不出有什么错。

    感谢您抽出时间阅读我的问题。

    2 回复  |  直到 1 年前
        1
  •  0
  •   user19259811    1 年前

    当代码作为StackOverflow代码段运行时,它可以工作:

    body {
      background-color: rgb(148, 68, 223);
      margin: 50px;
    }
    #main {
      background-color: rgb(198, 173, 221);
      border-radius: 20px;
      border: 3px solid rgb(165, 116, 211);
      margin: 30px;
    }
    <html>
      
      <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Pierogi Lover's Personal Site</title>
        <link href="/style.css" rel="stylesheet" type="text/css" media="all">
      </head>
    
      <body>
        <div id="flex-container">
          <div id="main">
            <h1>Welcome!</h1>
          </div>
        </div>
      </body>
    
    </html>

    因此,这可能是文件结构/导入的问题。

    如果两个文件都在同一个文件夹中,那么导入CSS的方法可以是:

    <link href="./style.css" rel="stylesheet" type="text/css" media="all">
    
        2
  •  -1
  •   Brent    1 年前

    更改此 <link href="/style.css" rel="stylesheet" type="text/css" media="all"> 对此:

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

    正斜杠“/”是导致此问题的原因。它认为它正在寻找一个相对url,而不是根目录下的文件。因此,除非文件位于根目录以外的文件夹中,否则不需要前导“/”

    这里还有一篇关于它的SO帖子 Starting with a forward slash in html for "href"