html - 每个浏览器都有不同的 CSS?

标签 html css

有没有办法为特定浏览器加载不同的 CSS 文件?

喜欢(糟糕的伪代码):

if firefox
<link rel="stylesheet" type="text/css" href="includes/MyCssFirefox.css" />
if chrome
<link rel="stylesheet" type="text/css" href="includes/MyCssChrome.css" />
if Safari
<link rel="stylesheet" type="text/css" href="includes/MyCssSafari.css" />

最佳答案

您想要的理想解决方案不存在:

不幸的是,如果您尝试在 HTML 本身上执行此操作,则不存在跨浏览器解决方案。但是,它适用于大多数版本的 IE。像这样:

<!--[if IE]>
<link rel="stylesheet" type="text/css" href="includes/myIEGeneralStyle.css" />
<![endif]-->
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="includes/myIE6Style.css" />
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="includes/myIE7Style.css" />
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="includes/myIE8Style.css" />
<![endif]-->

所以最好的解决方案:

像这样的 Javascript 解决方案怎么样:Browser Detection .阅读一些关于此类的内容以更好地阐明,该文件基本上所做的只是这样的概念:

var browser = navigator.userAgent.toLowerCase().indexOf('chrome') > -1 ? 'chrome' : 'other';

显然,它不仅仅检测浏览器类型。事实上,它知道版本、操作系统以及您可以在该链接中阅读的更多详细信息。但是,它会通过将“chrome”替换为“mozilla”、“explorer”等来检查所有类型的浏览器...

然后添加您的 css 文件,只需跟进像这样的条件语句:

if (BrowserDetect.browser.indexOf("chrome")>-1) {
document.write('<'+'link rel="stylesheet" href="../component/chromeCSSStyles.css" />');
} else if (BrowserDetect.browser.indexOf("mozilla")>-1) {
    document.write('<'+'link rel="stylesheet" href="../component/mozillaStyles.css" />');
} else if (BrowserDetect.browser.indexOf("explorer")>-1) {
    document.write('<'+'link rel="stylesheet" href="../component/explorerStyles.css" />');
}

祝您好运,希望对您有所帮助!

关于html - 每个浏览器都有不同的 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14227531/

相关文章:

CSS 从文本中移动一个字母

html - 如何制作带有背景图像的垂直可调整大小的面板(chrome 中的缩放问题)

html - CSS 和响应式设计

html - GWT 的标题框架面板(使用 FIELDSET 和 LEGEND html 标签)

javascript - 填充选择菜单 onChange

css - 有没有办法删除这个 flex 元素中多余的空白?

html - 如何在设计 A/B 测试中管理 CSS 文件

html - 图像叠加在背景上以自动调整大小以适应移动设备上的大小

javascript - 使用 CSS 和 JavaScript 对输入焦点上的标签进行动画处理

php - 如何使用 php 和 mysql 创建唯一的自动编号