0

我有一个我一直在构建的样式表,它大约有 100 条规则,总共有大约 500 个声明。当我添加另一个规则时,它不会应用 - 如果我在测试页面时在 Chrome 中打开开发人员工具,则该元素没有列出任何样式。到目前为止,所有其他规则都可以正常工作,样式表中没有明显的语法错误。

说到这一点,我使用的 NetBeans 没有显示任何错误迹象,并且发现规则正常。为了避免出现拼写错误,我让 NetBeans 找到规则并自动填充它。

对限制的研究表明我完全在任何限制的范围内,但我创建了一个新的样式表只是为了测试。我添加了一条包含我之前尝试过的所有必要声明的规则,并且新样式表起作用了。这与原始样式表一起出现。但是,如果我添加另一个规则,它将不起作用。只有我添加的原始规则有效,任何其他附加规则都不起作用,包括我完全删除原始规则。

我创建的任何内联样式都可以正常工作,并且对以前规则的任何修改都会生效。我不知道从哪里开始,因为问题似乎没有任何一致性。有人有什么建议吗?


编辑

我有了一个有趣的发现。我导入 CSS 的方式对所有页面都是这样的:

<link rel="stylesheet" type="text/css" href="./primary.css">

我尝试@import 时出现相同的故障结果。但是,如果我通过 PHP 包含文件,所有规则都按预期工作:

<?php require_once('./primary.css'); ?>

对此有什么可能的解释吗?主要区别在于现在所有规则都在页面上而不是在文件中,这意味着问题在于文件的处理方式。


编辑 2

根据 FelipeAls 的建议,我开始大量注释大部分代码以查找问题区域。当其他人被注释掉时,新规则生效;然而,随着我慢慢地重新引入代码,没有这样的问题区域,一旦所有代码都可用,问题就不再存在了。这使我相信某处可能存在流氓评论,可能存在空白错误或换行。无论哪种方式,代码都会再次按预期工作。

4

1 回答 1

0
  1. 验证吗?(或者每个“错误”/警告对你有意义吗?)
  2. HTML 代码也一样,以防万一
  3. 如果您body { background-color: pink !important }在样式表的末尾添加一个测试规则会怎样?现在靠近样式表的开头?
  4. 更改页面中的一些文本。你能看到修改还是你有一些代理?
  5. 删除 CSS 规则的后半部分。您现在可以在剩余的上半场前后添加新规则并查看它们的效果吗?不?然后删除规则的前半部分并重复测试。重复一半等,直到有效果(二分法)
  6. 将您的样式表重命名为cacheorproxyfromhell.css?v=130702-0634并尝试使用此样式表设置页面样式。您的开发工具(Firebug 等)是否显示加载了不同的 CSS?现在修改有效吗?

我曾经忘记关闭)aurl(并且它呈现无效的所有规则(数十行 CSS)直到下一次关闭)......我在修改这部分时花了一段时间才弄清楚!
编辑:限制?没有。IE8 有 31 个样式表和大约 31 个样式表的可达到限制。8192 规则,但暂时不要打扰

于 2013-07-02T04:35:05.957 回答