2

我正在使用 jQuery 来获得 UI 中选项卡的圆角。我的问题是它在 Firefox 和 Ie9 中运行良好,但在 IE7 和 IE8 中失败(选项卡看起来像一个正方形。这是每个人的问题还是有解决方法?

<div id="fig">
        <div id="fig-tabs">
          <strong class="tab-current">1st tab</strong> <a href="" class="tab">2nd tab</a> <a href="" class="tab">3rd tab</a>
        </div>
...</div>

而css是,

#fig-tabs { }

strong.tab-current
{
    background-color: #FFF;
    padding: 3px 8px 7px 8px;
    -moz-border-radius: 4px 4px 0px 0px;
    border-radius: 4px 4px 0px 0px;
    text-decoration: none;
}

a.tab
{
    background-color: #999;
    padding: 3px 8px 2px 8px;
    -moz-border-radius: 4px 4px 0px 0px;
    border-radius: 4px 4px 0px 0px;
    text-decoration: none;
}

a.tab:hover { background-color: #9ffff; }
4

3 回答 3

6

首先我想说你的问题是你正在编写的代码使用<canvas>旧版本的 Internet Explorer 不支持的标签/元素。你可以使用什么

为什么不直接使用 css3border-radius属性来设置舍入。这些仍然不能在 Internet Explorer 中工作,但更好更容易编码。真的在这个时代这种事情应该使用css3. 有一些兼容性库适用于 9 之前的 IE。

如果您真的想要在旧浏览器版本中使用圆角,您将需要使用预先创建的图像。

编辑:正如另一个答案所述,您可以使用 Internet Explorer 画布库,但您需要将getContext调用更改为以下内容,因为您的画布标签是动态生成的

var el = document.createElement('canvas');
G_vmlCanvasManager.initElement(el);
var ctx = el.getContext('2d');

EDIT2:现在您的问题是 IE 7/8 也不支持 css3 属性。尝试使用库(推荐的评论之一http://css3pie.com/将该支持添加到旧版浏览器中

于 2012-08-24T04:11:38.990 回答
3

IE7/IE8 不支持 canvas 元素,您可以使用此处提供支持的库。试试看。

于 2012-08-24T04:11:52.617 回答
0

在 div 层上使用背景的经典方法呢?

<div><!--top-->
  <div><!--repeat-->
    <div><!--bottom-->

    </div>
  </div>
</div>
于 2012-08-24T10:37:40.160 回答