Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet Explorer(IE)中的JQuery圆角混乱_Jquery_Css_Internet Explorer_Rounded Corners - Fatal编程技术网

Internet Explorer(IE)中的JQuery圆角混乱

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

我正在使用JQuery的JQuery.corner.js在一些td标签上创建圆角,它们在IE中看起来很好,除了

  • 如果您打开一个新选项卡,然后返回页面
  • 如果转到其他选项卡,请单击链接,然后返回页面
  • 如果您将鼠标悬停在javascript执行div/菜单上(我认为)
  • 圆角将替换为水平线,td标签内的文本将向下推。但是,刷新页面后,渲染将恢复正常。在所有情况下,它都能在Firefox中完美运行

    有什么想法吗

    作为参考,我使用的Javascript代码如下(这是MOSS2007页面):

    下面是一个示例HTML页面,它完美地显示了问题:

    <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');
        });