我无法弄清楚这个问题,我已经尝试过这个问题了,很难找到任何一个这种情况。我正在使用包含两个内容页面的母版页。当然,第一个内容页面是default.aspx。母版页有一个横幅的png。这有一个规则,使其在单独的CSS文件中响应。这很好用。
对于第一个内容页面,我有三个使用CSS设置样式的按钮(它们是我在矢量图形程序中制作的自定义按钮,按下后会改变外观,全部使用CSS)并且它们具有响应性。还有一个列表框,其样式和CSS响应。
默认页面的布局如下所示:两个div容器:一个向左浮动,另一个向右浮动。 CSS用于使这些容器响应。在正确的div中,我有我的按钮,它们被包含在他们自己的div中。所以..等等。当然,列表框的处理方式与包含它的div相同。
转到第二页,我有与默认页面相同的基本结构。我的目的是在右边的div中有一个图像,然后是文本框,然后是图像和文本框。 left div将包含与默认页面相同的内容。
此时,我已在第二个内容页面中添加了列表框,并且CSS正在按预期工作。列表框看起来就像在默认页面上一样,并且响应也是如此。所以CSS正在运作。对于第一张图片,我需要一个新的CSS规则。所以我转到我的CSS规则并添加一个新规则.image {width:100%;身高:自动;然后我添加我的图像并使用类引用和图像进行设置。这是行不通的。这张图片是在它自己的div中。如果我将图像的类更改为先前创建的另一个类,则图像会响应。所以我可以使用横幅CSS规则和图像响应,我可以使用按钮CSS规则和图像响应,它的行为就像一个按钮(点击它使它改变它的外观,那种东西),我可以甚至添加列表框的规则,图像响应。如果我然后返回并尝试使用图像规则,它就不再起作用了。
有关正在发生的事情的任何想法。它没有任何意义。我将规则添加到CSS文件中,就像我对所有其他规则一样,但出于某种原因,此规则根本不起作用。
谢谢你们的帮助。如果你们需要,我可以发布代码,但我不知道这会有什么帮助。第二个内容页面的图像与横幅广告的图像相同,横幅和图像的规则几乎完全相同,但百分比不同。这太奇怪了。
答案 0 :(得分:1)
为了提高性能,浏览器会将css文件保存在缓存中并使用缓存。如果他们不这样做,浏览器必须在每次页面使用css文件时继续加载css文件。
如果清除浏览器缓存,则会注意到新样式已应用。
如果您正在开发商业软件,您可能不想告诉每个用户清除其浏览器缓存,并且您更愿意强制浏览器加载新的css文件。另一方面,一旦加载了css,你希望浏览器缓存它,因为它会提高性能。
有一个技巧可以实现这一点!
我们假设您的样式文件名为 mystyle.css ,并且您在网站上有一个指向样式文件的链接,如下所示:
<link rel="stylesheet" type="text/css" href="~/mystyle.css">
要强制浏览器再次加载文件,您需要更改链接,标准做法是使用URL中的参数(通常是版本号)。 像这样:
<link rel="stylesheet" type="text/css" href="~/mystyle.css?version=1.00">
您的样式文件将忽略该版本参数,但浏览器会注意到链接中的更改并将加载新样式文件。基本上,浏览器存储文件的链接,如果您更改版本号,由于链接与浏览器在其缓存中的内容不匹配,它将强制浏览器再次加载文件。