使用css样式跨站点的奇怪行为

时间:2017-10-02 00:34:43

标签: css css3

好的,我一直在处理这个问题已经有一段时间了,老老实实地犹豫着来这里看看问题是什么。我几乎是肯定的,这是一个特殊性问题,我的缓存问题的工作正在导致或在某个地方我搞砸了。好吧,首先我注意到的是我遇到了缓存问题并且没有应用新的样式(直到我的最后两个项目才出现问题)。所以,我在这里找到了一个解决方案:添加:

?<?php echo time() ?>

到我的链接标记示例的css网址的末尾:

<link href="styles.css<?php echo time();?>

这就像一个魅力来阻止缓存问题,但自从这样做以来我一直看到奇怪的行为。比如某些样式甚至不适用我使用正确的类/ id。我使用标签选择器和类选择器的混合(这可能是特殊问题发挥作用,如果一个)。我刚刚在两个不同的页面上观察到相同的颜色是两种不同的颜色。我能够解决的唯一方法是使用内联样式。是的,这是我在某些页面上注意到的另一件事,即使正确链接外部样式表也不会将样式应用于新页面,其中我使用外部样式表中引用的相同类名称,我必须使用内部样式这不起作用(不会将样式应用于我所说的)并且必须使用内联样式。我从来没有经历过这种行为,所以这就是为什么我在考虑解决缓存问题或者是一个特殊问题。

http://www.skillersrealm.com/includes/css/style.css

http://www.skillersrealm.com/includes/css/nav.css

我终于能够重新创建问题示例......

我将所有内部样式移动到外部样式表,这是一个完美的例子,其中一些得到应用,一些没有(样式)。哦,无论我是否使用缓存解决方法,它都是相同的结果。

https://imgur.com/a/T5rMk

在内部添加css,然后再次应用所有样式。

这就是假设:

https://imgur.com/a/kexYV

2 个答案:

答案 0 :(得分:0)

缓存的“解决方案”可以防止页面缓存每次都起作用,这不是一个好的解决方案。而是在进行更新时在CSS文件(CSS版本号或类似版本)中使用标题/注释更新,仅在实际需要时强制更新。

某些页面无法正常加载,是否有可能整个页面在您单击时已缓存且页面未加载“强制缓存”CSS黑客攻击?或者您可能正在创建一些CSS无法正确应用的动态内容?您是否确定只有某些CSS样式在发生此“错误”时不适用且仅在您更新CSS后才会发生?

P.s如果您的页面中有很多小的颜色变化或类似的事情发生,请制作两个CSS文件。一个“永久”并为您的“静态”对象最小化,并仅加载来自其他文件的较小更改。或者选择SAS / LESS。

答案 1 :(得分:0)

我把它分解为缓存黑客是问题所在。我上面用来模拟行为的示例并不准确,因为我在链接标记中放了src而不是href。手指交叉,我将不再有问题。长话短说我很确定我使用的缓存黑客导致了问题。