Html 如何调用基于浏览器的css?

Html 如何调用基于浏览器的css?,html,css,Html,Css,我们可以从javascript中获取浏览器名称,但是有没有办法相应地更改css。我指的是一些类别的css文件,因为我不想链接另一个css文件,我想在 如果chrome a img { margin:0; } //if mozila a img { margin:5px; } 有两种方法: 客户端:您需要使用Javascript来检测浏览器并导入适当的CSS样式。看看这篇文章。(链接不再可用) 服务器端:您需要访问用户代理并提供适当的HTML。这里有一个链接。我以前用条件包含做过这件事。从

我们可以从javascript中获取浏览器名称,但是有没有办法相应地更改css。我指的是一些类别的css文件,因为我不想链接另一个css文件,我想在
如果chrome

 a img
{
margin:0;
}

//if mozila

a img
{
margin:5px;
}
有两种方法:

客户端:您需要使用Javascript来检测浏览器并导入适当的CSS样式。看看这篇文章。(链接不再可用)


服务器端:您需要访问用户代理并提供适当的HTML。这里有一个链接。

我以前用条件包含做过这件事。从浏览器的标题中检测浏览器,然后根据您描述的条件(或IE)包含一个.css文件。

可能类似于

body.chrome a img
{
margin:0;
}

body.mozilla a img
{
margin:5px;
}

然后根据需要使用Javascript在主体上设置一个类。

u可以使用js检测浏览器版本。并链接正确的css文件

你可以用

有时我使用-moz-CSS_属性für Mozila,但并非每次都有效

我认为JS是最好的解决方案

您可以:


为Mozilla扩展使用URL前缀:

@-moz-document url-prefix() {
  a img {
    margin:5px;
  }
}
我用这个:

let userAgent = navigator.userAgent;
let b = "";
if(userAgent.indexOf("Firefox") > -1){
    b = "firefox";
}
if(userAgent.indexOf("Chrome") > -1){
    b = "chrome";
}

let styles = document.createElement('link');
styles.rel = "stylesheet";
styles.type = "text/css";
styles.media = "screen";
styles.href = "css/options." + b + ".css";
document.getElementsByTagName('head')[0].appendChild(styles);

请注意,由于浏览器的渲染特性会随着时间的推移而发生变化,这些黑客行为很难维护。我会尽我最大的努力避免它们。使用url前缀作为Mozilla扩展名。R