首页 文章

什么是用户代理样式表

提问于
浏览
390

我正在使用谷歌浏览器的网页 . 它使用以下样式正确显示 .

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 回答

  • 3

    什么是目标浏览器?不同浏览器设置不同的默认CSS规则 . 尝试包含 reset.cssnormalise.css (Google用于任何一个或"reset vs normalise"以查看差异)以删除这些默认值 .

  • 89

    如果您的html中缺少 <!DOCTYPE> ,您可能会遇到浏览器优先于自定义样式表的"user agent stylesheet" . 添加doctype可以解决此问题 .

  • 90

    关于“用户代理样式表”的概念,请参阅CSS 2.1规范中的Cascade部分 .

    用户代理样式表将被您在自己的样式表中设置的任何内容覆盖 . 它们只是最底层:在没有页面或用户提供的任何样式表的情况下,浏览器仍然必须以某种方式呈现内容,而用户代理样式表只描述了这一点 .

    因此,如果您认为用户代理样式表存在问题,那么您的标记或样式表或两者(您没有编写任何内容)确实存在问题 .

  • 205

    通过第一行上正确的doctype将文档标记为HTML5,解决了我的问题 .

    <!DOCTYPE html>
    <html>...
    
  • 10

    基本上,浏览器提供的默认样式表 . 从规格......

    用户代理的默认样式表应以满足文档语言的一般表示期望的方式呈现文档语言的元素 . 〜喀斯喀特 .

    另外,有关用户代理的更多详细信息,请参阅...

    https://www.w3.org/TR/UAAG20/#def-user-agent

  • 39

    在您自己的CSS中定义您不希望从Chrome的用户代理样式使用的值 .

  • 12

    有些浏览器使用自己的方式来读取.css文件 . 所以正确的方法是:如果你直接在.html源代码中输入命令行,这会击败.css文件,就这样,你告诉浏览器直接做什么,浏览器处于不读的位置.css文件中的命令 . 请记住,.html文件中写入的命令比.css中的命令强 .

  • 0

    每个浏览器都提供一个默认样式表,称为用户代理样式表,以防HTML文件未指定样式表 . 您指定的样式会覆盖默认值 . 由于尚未指定表元素框的值,因此已应用默认样式

  • 0

    我有一个同样的问题,因为我的浏览器设置了一个边距,这是非常烦人但我发现大多数人说,它是一个标记错误 .

    我回去检查了我的部分,我的css链接如下:

    <link rel="stylesheet" href="ex.css">

    我在其中输入了类型,如下所示:

    <link rel="stylesheet" type="text/css" href="ex.css">

    我的问题解决了 .

    希望对你们有些帮助 .

  • -7

    将以下代码放在CSS文件中

    table {
        font-size: inherit;
    }
    

相关问题