【问题标题】:css3 pie not working on dynamic css changecss3 pie 不适用于动态 css 更改
【发布时间】:2014-11-20 13:04:49
【问题描述】:

我正在使用 css3 PIE 来通过边界半径创建圆(在 IE8 中)。它工作正常。 但是当我试图改变圆形的背景颜色时,那个元素变成了正方形。 我的代码如下所示。

    .menuIco {
        width:16px;
        height:16px;
        border-radius:8px;
        position:relative;
        z-index:101;
        background-color:#38B6E7;
    }

    .active .menuIco {
        background-color:#F1F1F1;
    }

我的 html 看起来像这样..

    <div> <!-- i am adding .active class to this div using jquery -->
        <div class="menuIco"> </div>
    </div>

当我将活动类添加到父 div(动态使用 Jquery)时,menuIco(圆圈)应该改变它的颜色。但是border-radius 属性正在崩溃。

谁能帮我解决这个问题! 提前致谢。

【问题讨论】:

  • 你试过用htc代替js吗?
  • 不!我只使用js

标签: css internet-explorer-8 pie-chart


【解决方案1】:

将边框半径设置为100%

这是一个LIVE DEMO 供您查看。

 .menuIco {
        width:100px;
        height:100px;
        border-radius:100%;
        position:relative;
        z-index:101;
        background-color:#38B6E7;
    }

我已将宽度和高度设置为 100px,以便在更大的比例上显示它。 (可以根据需要调整大小)

编辑

根据您的浏览器,您应该考虑包含其他前缀,如this fiddle所示

边界半径定义为:

    -webkit-border-radius: 100%;
-moz-border-radius: 100%;
border-radius: 100%;

【讨论】:

  • 感谢您的回答。但它不起作用..我正在使用 jquery 动态添加该活动类。添加边界半径后正在崩溃!
  • 你能为我提供一个 jsfiddle 吗?因为我不太确定为什么会失败,除了不包括用于多浏览器支持的其他前缀(在编辑中显示)。
  • jsfiddle 在 IE8 中不起作用!!那我怎么给你演示呢?? border-radius 在 IE8 中崩溃,在其他浏览器中它工作正常!!
  • 请参考支持IE7/8的this article
  • 仅供参考,我正在以相同的方法实施。但是当我在 IE8 中加载页面后动态更改 css 时,它正在崩溃!!!它的行为不同......我认为问题出在 PIE.js 上,我猜它不会在动态 css 更改后触发。我认为你没有清楚地理解这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多