边界半径不在IE上工作,我使用什么库或css hack

时间:2012-02-24 12:36:48

标签: jquery internet-explorer-8 css3

我想在IE8中为我的应用设置一些表单,但我总是遇到css3的问题。 我已经尝试过css3pie,但我不是很满意。如果有一个jQuery插件可以做到这一点我会很高兴。我想知道是否有可能用类似的东西欺骗IE8。

<meta http-equiv="X-UA-Compatible" content="IE=9" />

如果有人解决了这个问题,请告诉我。 感谢的。

3 个答案:

答案 0 :(得分:2)

检查一下: Rounded Corners in Internet Explorer

在底部有一些指向不同解决方案的链接。

答案 1 :(得分:1)

以下是您的选择:

  • 使用某种基于javascript的伪兼容性库(例如css3pie)。由于这些库基本上以受控方式使用黑客,因此您的结果会有些正确,但不一定完美。
  • 为IE8(及更早版本)使用不同的/额外的样式表,使用旧式方法添加圆形边框(角落的图像,一些狂野的浮动和定位技巧;或者更糟糕的是,滥用圆角的列表项目项目符号)
  • 使用所有浏览器的老派方法 - 这样可以使用,但是你会错过平滑缩放的矢量角(即,当用户放大时它会像素化)。
  • 设计一个看起来不错而没有圆形边框的设计,让IE8优雅地降级。 (这实际上是设计师所设想的规范解决方案 HTML和CSS。)

一些说明:

  • IE8(及更早版本)不是唯一不实现border-radius的浏览器; Opera Mini是一款相当受欢迎的移动浏览器,尚未实现它们,桌面Opera和Opera Mobile在版本10之前都没有包含它们。
  • 在IE8上运行的黑客可能无法在IE6和7上运行,因此如果您选择该路径,请准备好管理四种不同的样式表而不是一种。
  • 许多通常的老式圆角黑客很难或不可能在流畅的布局中实施,因为它们依赖于绝对定位和对其他元素尺寸的了解。
  • 如果用户禁用了Javascript,基于Javascript的解决方案显然会中断。
  • 随着时间的推移,人们转移到更新的IE版本。 IE8是目前最突出的版本,但这不会永远持续下去。

答案 2 :(得分:0)

你可以尝试这个https://github.com/brandonaaron/jquery-cssHooks

没有将它用于border-radius,而是用于其他css3。 你必须使用borderradiusalt.js并像这样应用它:

$('#myElement').css('border-radius', '3px 3px 3px 3px');

您还必须将border-radius.htc放在Web根目录中(例如index.html所在的位置)或使用js的页面。