Internet Explorer(IE)中的JQuery圆角混乱
我正在使用JQuery的JQuery.corner.js在一些td标签上创建圆角,它们在IE中看起来很好,除了Internet Explorer(IE)中的JQuery圆角混乱,jquery,css,internet-explorer,rounded-corners,Jquery,Css,Internet Explorer,Rounded Corners,我正在使用JQuery的JQuery.corner.js在一些td标签上创建圆角,它们在IE中看起来很好,除了 如果您打开一个新选项卡,然后返回页面 如果转到其他选项卡,请单击链接,然后返回页面 如果您将鼠标悬停在javascript执行div/菜单上(我认为) 圆角将替换为水平线,td标签内的文本将向下推。但是,刷新页面后,渲染将恢复正常。在所有情况下,它都能在Firefox中完美运行 有什么想法吗 作为参考,我使用的Javascript代码如下(这是MOSS2007页面): 下面是一个示例H
<html>
<head>
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript" src="jquery.corner.js"></script>
<script type="text/javascript">
<!--
$(document).ready(function()
{
$("div").corner("top");
$("td").corner();
});
//-->
</script>
</head>
<body>
<table>
<tr>
<td style="background-color: blue">
TD that will be messed up.
</td>
</tr>
</table>
<div style="background-color: green">
divs don't get messed up.
</div>
</body>
</html>
那会搞砸的。
div不会搞砸的。
在上面的代码中,一旦你打开了一个新标签,TD就会变得一团糟,而不是div。我对MOSS发出的HTML没有太多的控制权,否则我可能会咬紧牙关,在这里使用div而不是表格。我只在圆角Javascript库(尤其是IE6和IE7)方面遇到过麻烦
最后,我回到了涉及图像的更传统的方法。设置起来有点麻烦,但效果很好。要想将您遇到的问题形象化有点困难,链接会非常有用。确保为表格的每个单元格定义了高度和宽度属性。这可能是一个hasLayout问题。我同意RichH的观点,我认为所有流行的JavaScript库在尝试创建圆角时都会留下一些不尽如人意的地方
我总是发现自己在使用cornershop:,它是一个图像/css生成器,可以消除手动生成圆角的痛苦 您可能想试试这个插件,而不是jquery.curvycorners.js 我们在项目中使用它一点问题都没有——您可能需要附加/前置跨距,但它非常简单 最佳选择->默认情况下消除锯齿
我已经搜索过了,但没有找到jquery UI选项卡中圆角的解决方案。jquery themeroller支持圆角,但文档中说它们在IE中不起作用 这是一个很好的页面,有25种不同的圆角方法
我也遇到过类似的问题,即使在firefox中,我发现如果将“角点”应用于具有设置背景色的类的元素,则角点永远不会被应用。在我的例子中,我添加了一个名为“selected”的类,它为UL中选定的“tab”提供了不同的背景颜色。为了防止出现这种情况,在添加角点后,我使用js而不是css应用背景色:
$('.selected').css('background-color', '#3296C0');
此外,您还可以添加一个:hover,它会更改背景颜色。悬停时,角会变为方形。到目前为止,我的解决方案是使用onhover事件重新应用角点(您也可以在此处设置颜色)
至于IE6——一场噩梦——如果我能检测到IE6,并且不添加角点,让它们保持正方形,那就不会那么糟糕了。甚至还没有尝试过IE 7…在IE中,我在库中获得了更好的结果。不过,这只适用于IE。对于Firefox,您需要添加-moz border radius样式。curvycorners.js和jquery.curvycorners.js仅在您不想使用任何转换时才起作用
如果您具有手风琴或淡入/淡出选项卡效果,则具有圆角的元素在更改后无法正确渲染。要使jquery Curvey corners在IE中工作,只需为元素指定背景色即可。
不知道为什么会这样…就像变魔术一样 有多个jquery.corner.js插件。您正在使用的链接可能会有所帮助。:)这东西很棒。我在其他插件上也遇到了问题。虽然效果很好,但在IE8中崩溃了!您不需要向Firefox/Webkit添加任何内容,脚本本身就添加了内容,它可以跨浏览器工作。到目前为止,这一个效果最好。其他所有人都有一点小毛病,就是不太正确。DD_Roundies的想法很好,但它的IE8支持又粗略又缓慢(作者在网站上这样说),这让我觉得它不是一个新手。请注意,这个库(以及任何其他使用VML的IE库)存在问题在包含此库的页面中,jQuery在某些情况下可能会崩溃。就个人而言,我很高兴他们没有添加一堆额外的图像、标签、CSS或任何需要为不支持CSS属性的浏览器创建圆角的东西。我宁愿不要圆角(在大多数情况下),因为它不受支持。
$('.selected').css('background-color', '#3296C0');
$('#top-nav li a').hover(function(){
$(this).corners('top');
});