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

标签 html css netbeans stylesheet

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

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

关于HTML 元素有选择地采用样式表中的规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17417066/

相关文章:

html - 具有最大宽度和最大高度并保留比例的 Div(仅限 CSS)

javascript - 如何使用jquery在div中选中复选框?

php - 为什么我的 Netbeans Xdebug session 在一段时间不活动后超时

html - 如何使图像更改以显示它正在被按下?

html - 使用没有图像的 CSS 裁剪和屏蔽 div

javascript - 尝试使用 ExternalInterface 隐藏和显示 Flash 视频播放器

netbeans - Netbeans代码折叠的快捷键是什么?

macos - netbeans 9 - svn 支持在 macOS 上被破坏了?

html - 试图理解 float 和文本

javascript - 在angularjs html模板中的哪里添加<head>元素?