【问题标题】:Stop inheriting from user agent停止从用户代理继承
【发布时间】:2012-08-20 06:52:45
【问题描述】:

我正在尝试创建一个样式化的 h4。

但是我的 h4 一直从某个用户代理继承?

这个用户代理是什么。

我怎样才能阻止它这样做。它添加了我不想要的效果。

【问题讨论】:

  • 查看您不喜欢使用浏览器工具的地方并使用 css 更改它们。 - 你用什么浏览器?
  • @Aristos Chrome。这是针对我的网站的,所以我希望它反映在所有访问者中。

标签: c# asp.net css webmatrix webmatrix-2


【解决方案1】:

不,h4 元素(或屏幕截图中的h2 元素)不会从某些用户代理继承。相反,它直接从用户代理样式表获取属性值。 “用户代理”实际上是指浏览器(原则上,它也可以是索引机器人)。

您可以通过在样式表中分配属性来阻止这种情况。事实上,您在示例中已经做到了:font-sizefont-weight 已被覆盖。设置 display: block 可以被覆盖,例如通过将display: inline 添加到您的样式表中。

边距问题比较棘手,因为 WebKit 浏览器在那里有其奇怪之处,并且 -webkit-margin 属性显示为好像它们没有被覆盖一样。但实际上,当设置标准 margin 属性时,它们会被忽略,就像您的情况一样;查看“指标”窗格以查看此内容。

所以您已经覆盖了用户代理样式表设置。一般来说,用户代理样式表可以包含任何东西,但使用reset.css 样式表仍然是一种错误的方法。 CSS 2.1 规范中的default style sheet for HTML 4 是相当现实的,它告诉你要准备什么,例如displaymarginfont-weightfont-size 用于标题。

【讨论】:

  • 感谢您的信息。 h4 是主要问题(看起来完全不同),但我将其更改为 span,因此无法对其进行截图。这下全说通了。 :)
【解决方案2】:

要停止继承自用户代理(Web 浏览器默认为各种 HTML 元素选择的样式)疯狂,您需要使用良好的 CSS“重置”。

阅读http://meyerweb.com/eric/tools/css/reset/ 了解“重置”的介绍。

不同“重置”列表http://www.cssreset.com/

此外,如果您使用的是 Twitter Bootstrap 等框架,它已经包含了合理的重置。

【讨论】:

  • 所以基本上覆盖了用户代理,将它们全部默认为合理的东西?用户代理是浏览器吗?所以每个浏览器都会不一样?
  • @Mcloving 是正确的。所有浏览器(用户代理)都会为所有 HTML 元素分配一些默认样式(通常是填充和边距)。 CSS 重置会强制所有这些重置为在所有浏览器中都相同的某个值(通常为 0),因此您可以完全控制样式。
  • 感谢您提供信息 :) 选择了其他答案,但 +1 获取信息。
猜你喜欢
  • 2012-12-15
  • 2012-08-30
  • 1970-01-01
  • 1970-01-01
  • 2012-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-23
相关资源
最近更新 更多