代码之家  ›  专栏  ›  技术社区  ›  Roalt

拉斐尔物体的梯度透明度

  •  1
  • Roalt  · 技术社区  · 15 年前

    我试着得到一个部分透明的矩形,左边不透明,右边透明。

    这在Firefox、Chrome中有效,但在Internet Explorer 7或IE8中无效。在IE中,所有矩形都以相同的透明渐变显示。

    function drawTest(y, pct) {
        var recttest = paper.rect(25,y,100,30);
        var gradstr = "0.0-#db38cc:5-#db38cc:"+pct;
        recttest.attr({"fill": gradstr,"opacity": "0.01"});
    }
    $(document).ready(function() {
            paper = Raphael(10,100, 400, 400);
            drawTest(0, 30);
            drawTest(50, 40);
            drawTest(100, 50);
            drawTest(150, 60);
            drawTest(200, 70);
            drawTest(250, 80);
    });
    

    here for an example 以上代码正在运行。

    那我怎么能为IE修这个?请注意,我想将矩形放在图像的顶部,这样它必须是透明的(不是白色)。

    1 回复  |  直到 15 年前
        1
  •  9
  •   Dmitry Baranovskiy    15 年前

    这是不可修复的。这是VML和Rapha_«L的限制。

    但是,可以减小矩形的宽度以获得所需的效果。要获得半透明矩形,您应该应用.attr(fill:“0-000-000”,opacity:0),然后播放矩形的宽度。

    推荐文章