你在公司改完网页样式,刷新页面却发现新写的CSS压根没起作用。这时候第一反应是不是赶紧清浏览器缓存?其实,清网络缓存只是其中一种可能,很多时候问题出在别的地方。
浏览器确实会缓存CSS文件
浏览器为了加快加载速度,会把CSS、JS这类静态资源存一份在本地。你改了代码,但浏览器还在用旧的那份,自然看不到变化。这时候清缓存确实有用,比如按F12打开开发者工具,右键刷新选择“清空缓存并硬性重新加载”,或者快捷键Ctrl + F5。
但更常见的问题是资源路径或版本没更新
很多项目上线后会做静态资源加版本号处理。比如你改了style.css,但HTML里引用的还是:
<link rel="stylesheet" href="/css/style.css?v=1.0">如果版本号没变,浏览器依然认为这是同一个文件,不会重新下载。解决办法是构建时自动加hash,比如变成style.a1b2c3.css,或者手动改个查询参数。
CDN也可能“拦”住你的新样式
如果你的网站用了CDN加速,比如阿里云、Cloudflare,那改完CSS还得等CDN节点更新。有时候你以为本地改好了,实际用户访问的是离他们最近的节点上的旧文件。这时候得登录CDN后台手动刷新缓存,或者等TTL过期。
检查是否被其他样式覆盖
打开开发者工具,找到你修改的元素,看对应的CSS规则有没有被划掉。如果新写的样式被后面的规则覆盖了,再怎么清缓存也没用。可以提高选择器优先级,比如加上!important,或者调整引入顺序。
本地开发环境也有坑
用Webpack、Vite这类工具开发时,热更新偶尔会失灵。改了CSS文件页面没反应,可能是监听没生效。试试重启本地服务,或者检查配置里的watch选项。
所以,下次遇到CSS不生效,别上来就清缓存。先按F12看网络请求,确认CSS文件是不是真的加载了最新的。再查路径、查CDN、查优先级,一步步排查更靠谱。