什么是用户代理样式表
我正在Google Chrome的网页上工作。 它使用以下样式正确显示。
table {
display: table;
border-collapse: separate;
border-spacing: 2px;
border-color: gray;
}
重要的是要注意我没有定义这些样式。 在Chrome开发工具上,它代表用户代理样式表代替CSS文件名。
现在,如果我提交表单并发生一些验证错误,我会得到以下样式表:
table {
white-space: normal;
line-height: normal;
font-weight: normal;
font-size: medium;
font-variant: normal;
font-style: normal;
color: -webkit-text;
text-align: -webkit-auto;
}
table {
display: table;
border-collapse: separate;
border-spacing: 2px;
border-color: gray;
}
这些新款式的font-size
我的设计感到不安。 有什么办法强制我的样式表,如果可能的话,完全覆盖Chrome的默认样式表?
什么是目标浏览器? 不同的浏览器设置不同的默认CSS规则。 尝试包括一个reset.css或normalise.css (谷歌任一或“复位vs正常化”以查看差异)来删除这些默认值。
关于“用户代理样式表”的概念,请参阅CSS 2.1规范中的Cascade部分。
用户代理样式表被您在自己样式表中设置的任何内容覆盖。 它们只是最底层:在没有任何由页面或用户提供的样式表的情况下,浏览器仍然需要以某种方式呈现内容,并且用户代理样式表只是描述了这一点。
所以,如果你认为你的用户代理样式表有问题,那么你的标记,样式表或者两者都有问题(关于你什么都不写)。
如果您的html中缺少<!DOCTYPE>
,您可能会体验到浏览器优先于您的自定义样式表中的“用户代理样式表”。 添加doctype修复了这个问题。