浏览器在设计时,为了更好的减少从web服务器获取数据带来的流量和带宽压力,设计了缓存概念,即根据浏览器的策略将部分静态的元素比如图片、样式表、JavaScript脚本等缓存在本地电脑中,不必每次刷新页面都从服务器获取,这种方式会造成一个问题,就是如果你从服务器里更改了这些元素,浏览器并不能马上更新展示出来(因为它还是从本地缓存里读取),所以必须要手动去指示浏览器立即更新。
因为css文件会被浏览器缓存,有的同学可能会发现,修改了css文件内容后网站界面并没有发生相应的变化,那是因为浏览器还是会使用之前缓存下来的老的css文件,此时可以通过修改引入的css文件名加参数的方式告诉浏览器更新缓存,比如head.php中 link href="images/inc.css?v3" ,可以更改后面的v3为v4,或者v5等等,浏览器检测到引入的css文件的变化会自动更新缓存的。有的同学自己修改css文件,结果发现改错了后用原版css恢复,发现页面并没有恢复过来,那是因为浏览器缓存了之前错误的css文件,用此法更新即可。
同样的道理,如果css文件中引用了图片,比如.topmenu .div1{left:3%;background-image:url(home.png);},你换掉图片,却发现页面并没有变化,只要这样就行.topmenu .div1{left:3%;background-image:url(home.png?v=1);},