我正在使用谷歌浏览器的网页 . 它使用以下样式正确显示 .
table {
display: table;
border-collapse: separate;
border-spacing: 2px;
border-color: gray;
}
重要的是要注意我没有定义这些样式 . 在Chrome开发工具上,它会用 user agent stylesheet 代替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的默认样式表?
10 回答
什么是目标浏览器?不同浏览器设置不同的默认CSS规则 . 尝试包含 reset.css 或 normalise.css (Google用于任何一个或"reset vs normalise"以查看差异)以删除这些默认值 .
如果您的html中缺少
<!DOCTYPE>
,您可能会遇到浏览器优先于自定义样式表的"user agent stylesheet" . 添加doctype可以解决此问题 .关于“用户代理样式表”的概念,请参阅CSS 2.1规范中的Cascade部分 .
用户代理样式表将被您在自己的样式表中设置的任何内容覆盖 . 它们只是最底层:在没有页面或用户提供的任何样式表的情况下,浏览器仍然必须以某种方式呈现内容,而用户代理样式表只描述了这一点 .
因此,如果您认为用户代理样式表存在问题,那么您的标记或样式表或两者(您没有编写任何内容)确实存在问题 .
通过第一行上正确的doctype将文档标记为HTML5,解决了我的问题 .
基本上,浏览器提供的默认样式表 . 从规格......
另外,有关用户代理的更多详细信息,请参阅...
https://www.w3.org/TR/UAAG20/#def-user-agent
在您自己的CSS中定义您不希望从Chrome的用户代理样式使用的值 .
有些浏览器使用自己的方式来读取.css文件 . 所以正确的方法是:如果你直接在.html源代码中输入命令行,这会击败.css文件,就这样,你告诉浏览器直接做什么,浏览器处于不读的位置.css文件中的命令 . 请记住,.html文件中写入的命令比.css中的命令强 .
每个浏览器都提供一个默认样式表,称为用户代理样式表,以防HTML文件未指定样式表 . 您指定的样式会覆盖默认值 . 由于尚未指定表元素框的值,因此已应用默认样式
我有一个同样的问题,因为我的浏览器设置了一个边距,这是非常烦人但我发现大多数人说,它是一个标记错误 .
我回去检查了我的部分,我的css链接如下:
<link rel="stylesheet" href="ex.css">
我在其中输入了类型,如下所示:
<link rel="stylesheet" type="text/css" href="ex.css">
我的问题解决了 .
希望对你们有些帮助 .
将以下代码放在CSS文件中