You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Codepen代码在VSCode中失效:CSS样式不显示且遇404错误求助

解决CSS样式未加载(404错误)的简单办法

我尝试给网站添加带特定样式的按钮,已关联HTML与CSS,但页面仅显示HTML内容,CSS样式完全未生效。确认index.html与style.css在同一目录,却收到服务器错误:

127.0.0.1 - - [15/May/2023 14:17:21] "GET /style.css HTTP/1.1" 404 -

代码来自Codepen,看不懂复杂解决方案,需要通俗易懂的解决办法。

我的代码

index.html

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" type="text/css" href="style.css">
  </head>
  <body>
    <button>Upload</button>
    <button>Preview</button>
  </body>
</html>  

style.css

@import "https://unpkg.com/open-props";

* {
  box-sizing: border-box;
}

body {
  display: grid;
  place-items: center;
  min-height: 100vh;
  background: var(--gray-12);
}


button {
  font-family: var(--font-sans);
  font-weight: var(--font-weight-6);
  font-size: var(--font-size-5);
  color: var(--gray-8);
  background: var(--gray-0);
  border: 0;
  padding: var(--size-4) var(--size-8);
  transform: translateY(calc(var(--y, 0) * 1%)) scale(var(--scale));
  transition: transform 0.1s;
  position: relative;
}

button:hover {
  --y: -10;
  --scale: 1.1;
  --border-scale: 1;
}

button:active {
  --y: 5%;
  --scale: 0.9;
  --border-scale: 0.9, 0.8;
}

button:before {
  content: "";
  position: absolute;
  inset: calc(var(--size-3) * -1);
  border: var(--size-2) solid var(--gray-0);
  transform: scale(var(--border-scale, 0));
  transition: transform 0.125s;
  
  --angle-one: 105deg;
  --angle-two: 290deg;
  --spread-one: 30deg;
  --spread-two: 40deg;
  --start-one: calc(var(--angle-one) - (var(--spread-one) * 0.5));
  --start-two: calc(var(--angle-two) - (var(--spread-two) * 0.5));
  --end-one: calc(var(--angle-one) + (var(--spread-one) * 0.5));
  --end-two: calc(var(--angle-two) + (var(--spread-two) * 0.5));
  
  mask: conic-gradient(
    transparent 0 var(--start-one),
    white var(--start-one) var(--end-one),
    transparent var(--end-one) var(--start-two),
    white var(--start-two) var(--end-two),
    transparent var(--end-two)
  );
  
  z-index: -1;
}

解决步骤

  • 检查文件名细节
    确保style.css的文件名和HTML里的href="style.css"完全匹配:

    • 大小写一致:Linux/macOS系统区分大小写,Style.css和style.css会被认成两个文件
    • 无多余后缀:有些系统隐藏文件后缀,要开启显示后缀检查,避免出现style.css.txt这种情况
    • 无空格/特殊字符:文件名里不要加空格、中文或奇怪符号
  • 确认文件位置
    把index.html和style.css放在完全同一个文件夹里,不要嵌套子目录(比如如果CSS在css子文件夹,HTML里要写href="css/style.css",但你是同一目录,就确保没有嵌套)

  • 正确启动本地服务器
    如果用本地服务器(比如Python的python -m http.server),必须在文件所在文件夹启动:

    1. 打开命令行,用cd命令进入到两个文件所在的文件夹
    2. 再执行启动命令,比如python -m http.server 8000
      这样服务器的根目录就是这个文件夹,才能找到style.css
  • 临时测试代码有效性
    把CSS代码直接放到HTML的<style>标签里,测试样式是否能生效,排除代码本身的问题:

    <!DOCTYPE html>
    <html>
      <head>
        <style>
          @import "https://unpkg.com/open-props";
    
          * {
            box-sizing: border-box;
          }
    
          body {
            display: grid;
            place-items: center;
            min-height: 100vh;
            background: var(--gray-12);
          }
    
          button {
            font-family: var(--font-sans);
            font-weight: var(--font-weight-6);
            font-size: var(--font-size-5);
            color: var(--gray-8);
            background: var(--gray-0);
            border: 0;
            padding: var(--size-4) var(--size-8);
            transform: translateY(calc(var(--y, 0) * 1%)) scale(var(--scale));
            transition: transform 0.1s;
            position: relative;
          }
    
          button:hover {
            --y: -10;
            --scale: 1.1;
            --border-scale: 1;
          }
    
          button:active {
            --y: 5%;
            --scale: 0.9;
            --border-scale: 0.9, 0.8;
          }
    
          button:before {
            content: "";
            position: absolute;
            inset: calc(var(--size-3) * -1);
            border: var(--size-2) solid var(--gray-0);
            transform: scale(var(--border-scale, 0));
            transition: transform 0.125s;
            
            --angle-one: 105deg;
            --angle-two: 290deg;
            --spread-one: 30deg;
            --spread-two: 40deg;
            --start-one: calc(var(--angle-one) - (var(--spread-one) * 0.5));
            --start-two: calc(var(--angle-two) - (var(--spread-two) * 0.5));
            --end-one: calc(var(--angle-one) + (var(--spread-one) * 0.5));
            --end-two: calc(var(--angle-two) + (var(--spread-two) * 0.5));
            
            mask: conic-gradient(
              transparent 0 var(--start-one),
              white var(--start-one) var(--end-one),
              transparent var(--end-one) var(--start-two),
              white var(--start-two) var(--end-two),
              transparent var(--end-two)
            );
            
            z-index: -1;
          }
        </style>
      </head>
      <body>
        <button>Upload</button>
        <button>Preview</button>
      </body>
    </html>
    

    如果这样样式生效了,说明问题出在CSS文件的路径或命名上,回到前面几步排查。

  • 强制刷新浏览器
    有时候浏览器会缓存旧的错误状态,按Ctrl+Shift+R(Windows)或Cmd+Shift+R(Mac)强制刷新页面,尝试加载最新的CSS文件。

内容的提问来源于stack exchange,提问作者Sanjay Hundia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 04:52:55