HTML元素选择性地采用样式表中的规则



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

说到这里,我使用NetBeans,它没有显示错误的迹象,并且发现规则和正常情况一样好。为了避免拼写错误的可能性,我让NetBeans找到规则并自动填充

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

我创建的任何内联样式都可以正常工作,对以前规则的任何修改都会产生影响。我不知道该怎么办,因为这个问题似乎没有任何一致性。有人有什么建议吗?


编辑

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

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

我尝试了@import,但同样出现了故障但是,如果我通过PHP包含该文件,所有规则都会按预期工作:

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

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


编辑2

根据FelipeAls的建议,我开始对大部分代码进行大规模注释,以查找问题区域。当其他人被评论掉时,新规则起了作用然而,当我慢慢地重新引入代码时,没有这样的问题区域,一旦所有代码都可用,问题就不再存在了。这让我相信,某个地方可能有恶意评论,空格可能有错误,或者换行。无论哪种方式,代码都会再次按照预期工作。

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

我曾经忘记了一个关闭的)到一个url(,它使ALL规则(几十行CSS)无效,直到下一个关闭)。。。当我修改这个部分时,我花了一段时间才弄清楚
edit:限制?没有。IE8有31个样式表和大约8192个规则的可实现限制,但现在不需要麻烦

最新更新