为啥用户代理样式表会覆盖我的样式? [关闭]

Posted

技术标签:

【中文标题】为啥用户代理样式表会覆盖我的样式? [关闭]【英文标题】:Why does user agent stylesheet override my styles? [closed]为什么用户代理样式表会覆盖我的样式? [关闭] 【发布时间】:2012-07-06 02:48:36 【问题描述】:

我想要一个 11 的字体大小,但 Chrome 和 Firefox 给了我 16。当我检查 Chrome 中的元素时,我看到并查看了我看到的计算属性:

font-size: 16px;
  table - medium user agent stylesheet
  Style Attribute - 11px
  table - medium user agent stylesheet
  .v11gray - 11px style.css

在 Firefox 中的计算样式下,我得到:

font-size: 16px
   TABLE[0].style → 11px    element
   .v11gray → 11px  style.css:19

最后三行被删除。为什么我的 css 规则被覆盖?我可以采取哪些步骤来找出答案?

【问题讨论】:

有 jsfiddle 吗?代码示例很有帮助 向我们展示您的 CSS 包括。您要确保最后包含您的主样式表,否则插件和其他 css 样式表可能会覆盖您的某些选择器。 这是我在现场网站上的内容的副本。如果我知道如何重现问题,我会解决它。 @Joe,您需要发布一个完整的示例或 URL。现在还不清楚该元素是什么以及应用了哪些样式表。 我同意@Jukka,您的帖子不够详细,或者提供了正确的来源,这使我们能够评估您遇到的错误,并与您尝试做的事情进行比较。 【参考方案1】:

这是没有您的代码的外部镜头,但是当我遇到完全相同的问题时的解决方案。如this question 中所述,我的 DOCTYPE 语句被错误的击键弄乱了。您可能希望对其进行目视检查和/或验证。

【讨论】:

完美!正是这个,非常感谢! @kburke - 完美运行!这么简单的解决方法! +1 帮助我在 之前识别出一个额外的 谢谢。我在 Zen Cart 系统的一个 'header_php.php' 文件中放了一个 '''' 行。这些是在正常的html头代码之前输出的,所以''''标签出现在''''行之前,使得浏览器忽略它,这一页突然出现了''table -表格文本的计算样式中的medium'',搞砸了它们的字体大小。当我查看源页面与另一个有效的页面相比时,问题很明显。 如果您在 doctype 之前打印内容,样式也会失败。在我必须删除的文档类型之前,我有一些 PHP 跟踪被回显以进行正确的样式设置。【参考方案2】:

这可能听起来很奇怪,但它有助于检查(尤其是如果您没有使用 IDE 或没有对 CSS 进行验证的IDE)。您可能需要确保在 your:style; 行的末尾有一个 ; 而不是 :。因为乍一看,在检查器中,语法似乎是正确的,但不是。所以你的用户代理样式表会覆盖它。这是“确保您的打印机已插入”检查之一。这种情况时不时发生在我们所有人身上。

【讨论】:

以上是关于为啥用户代理样式表会覆盖我的样式? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Chrome 中覆盖用户代理样式表并正确显示我的设计

为啥没有用户代理为视频元素实现 CSS 光标样式

无法覆盖用户代理样式表中的边框间距

chrome:如何关闭用户代理样式表设置?

为啥我的隐式 ContextMenu 样式不会覆盖 TextBox 上下文菜单样式?

如果我在不同的方法中对文本应用更多样式,为啥会覆盖样式?