在布置具有绝对定位的页面时,我意识到它在浏览器与浏览器之间呈现不同。我一直在网上寻找有关 css 选择器的信息,看看是否有某种方法可以根据用户使用的浏览器来更改定位,但我没能找到任何有用的东西。有什么想法吗?
最佳答案
这对我来说似乎是一个糟糕的策略……我不想根据浏览器的类型从绝对定位切换到相对定位或其他某种定位。他们都应该实现非常相似的定位。您可能需要添加一些额外的样式以使特定元素在特定浏览器上正常运行,但根据浏览器更改全局定位方法并不是一个好主意,IMO。
更新:
仅在 CSS 上,没有任何标准机制来检测浏览器。您可以使用如下技巧来检测特定版本的 IE,例如:
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="iespecific.css" />
<![endif]-->
或类似的东西:
<!--[if gte IE 6]>
<link rel="stylesheet" type="text/css" href="iespecific.css" />
<![endif]-->
有关更完整的选项列表 see here.
另一种选择是使用 jQuery(如果它适合您)并根据浏览器使用 javascript 调整元素的样式。像这样的东西:
if ( $.browser.msie ) {
$("#div ul li").css( "display","inline" );
} else {
$("#div ul li").css( "display","inline-table" );
}
提醒一句:以上方法都不是万无一失的。例如,一个可以使 Firefox 将自己标识为 Internet Explorer。
关于CSS 浏览器选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9891307/