CSS没有反映

时间:2016-02-07 08:14:35

标签: html css

我正在制作php网站。 但是css存在一些问题。 我已将我之前项目中的一些css复制到新项目中。 如果我在那个css中改变某些东西,它就不会反映在浏览器(chrome)中,即使在inspect元素中也没有看到添加的css行。 在我的项目/网站中,每个CSS都是如此。 为了解决这个我做的是我重命名css doc,重命名所有现有的行加上添加的行反映。现在如果再次添加一些东西,我必须重命名工作表。 可能是我的浏览器引用了css的旧副本。如果我改为,它仍然引用旧副本。 解决方案

5 个答案:

答案 0 :(得分:2)

在处理可以通过浏览器缓存的此类更改时,请将开发人员工具窗口保持打开状态并检查"禁用缓存"开发人员控制台的“网络”选项卡现在刷新chrome之后将始终加载新的更改。

参考:https://stackoverflow.com/a/7000899/3896470

将版本参数添加到CSS文件URL将有助于您避免在生产环境中出现此类问题,因为如果某些内容在您的浏览器中缓存,那么它也会缓存在您客户的浏览器中。

示例:link / to / css-file.css?ver = 1.0.1(由@Marek在https://stackoverflow.com/a/35251312/3896470中回答)

我无法添加评论以便添加为答案。

答案 1 :(得分:2)

您可以通过在src属性的末尾添加时间戳来阻止缓存:

<link rel="stylesheet" type="text/css" href="style.css?<?php echo date('l jS \of F Y h:i:s A'); ?>" />

答案 2 :(得分:0)

浏览器从缓存中获取旧版本的CSS文件。

要查看您的更改,您可以:

  1. 清除浏览器缓存
  2. 将网址更改为CSS文件
  3. 您只需添加&#39; ver&#39;参数到你的网址:

    链路/到/ CSS-file.css?版本= 1.0.1

    @Shipow解决方案很好但仅限于您在本地进行更改。不要在生产服务器上使用此解决方案,因为当您向URL添加当前时间戳时,您的CSS文件URL将在每次重新加载页面时更改。而且您客户的浏览器将始终下载此文件,因为此文件的URL每次都不同。

答案 3 :(得分:0)

强制CSS重新加载的一个好方法是:

<link href='styles.css?version=1' rel='stylesheet'></link>

然后在更改CSS时增加版本号。然后浏览器将遵守。我相信StackOverflow使用这种技术。

答案 4 :(得分:0)

您有缓存问题。 您可以在apache服务器配置上禁用缓存。