用PHP检测用户代理,然后加载正确的CSS样式表,这是一个好方法吗


Is it a good approach to detect user agent with PHP and then load proper CSS stylesheet?

在主题标题中,我正在做一些项目,但我的CSS在Mozilla中效果很好,但在Opera中,px的维度不同。我试图使用百分比维度来解决这个问题,但出现了其他问题。这是某种Opera问题,因为它以另一种方式识别CSS代码,因为当检查元素时,它会返回完全不同的div和borders的px维度。我的想法是避免它是为特定的浏览器创建单独的CSS文件,并在检查用户代理后选择正确的文件?也许有更短的方法来解决这个问题?我需要我的网站在Mozilla,Opera,Chrome中正确显示。

虽然可能,但基于检测到的浏览器加载不同的CSS通常不是最佳实践,而且违背了CSS的目的。在你做出决定之前:

  • 考虑编写跨浏览器兼容的CSS:
    • 使用emrem代替px作为font-size单元
    • 将特定于浏览器的前缀添加到需要添加兼容性的属性中
    • 在有疑问时使用我能使用吗?这是一个很好的工具
  • 检出特定于浏览器的选择器

作为个人注意事项,我自己也尝试过这种方法,很快就落后于更新所有必需的CSS文件。大约一年后,我将它们合并到一个文件中,仅此一项更改就比预期的要困难。