jquery - 支持 css3 和 ie8 的弧形文本

标签 jquery css canvas internet-explorer-8 css-transforms

我曾尝试为具有 css3 属性的文本赋予弧形,并更改 js 以支持 ie8。但这不起作用。

this.$letters.each(function (i) {
    var $letter = $(this),
        transformation = (_self.options.radius === -1) ? 'none' : 'translateX(' + $letter.data('x') + 'px) translateY(' + $letter.data('y') + 'px) rotate(' + $letter.data('a') + 'deg)',
        transition = (animation) ? 'all ' + (animation.speed || 0) + 'ms ' + (animation.easing || 'linear') : 'none';


    filterIE = 'M11=' + $letter.data('x') + ', M21=' + $letter.data('y') + ',rotation=' + $letter.data("a") + 'deg'; // js function for supporting ie8
    //alert(filterIE);
    $letter.css({
        '-webkit-transition': transition,
        '-moz-transition': transition,
        '-o-transition': transition,
        '-ms-transition': transition,
        'transition': transition
    })
    .css({
        '-webkit-transform': transformation,
        '-moz-transform': transformation,
        '-o-transform': transformation,
        '-ms-transform': transformation,
        'transform': transformation,
        'filter': "progid:DXImageTransform.Microsoft.Matrix(" + filterIE + ")"  // js function for supporting ie8
    });

    function getIEVersion() {
        var rv = -1; // Return value assumes failure.
        if (navigator.appName == 'Microsoft Internet Explorer') {

            var ua = navigator.userAgent;
            var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
            if (re.test(ua) != null)

                rv = parseFloat(RegExp.$1);
        }
        return rv;
    }


    function checkVersion() {
        var ver = getIEVersion();

        if (ver != -1) {
            if (ver <= 9.0) {
                //.css("-ms-filter","progid:DXImageTransform.Microsoft.Matrix(M11=1.4488887394336025, M12=-0.388228567653781, M21=0.388228567653781, M22=1.4488887394336025, SizingMethod='auto expand')"
                //);// do something
            }
        }
    }

    checkVersion();
});

加粗的文字是对我的js函数的改动。有人可以帮我从这里出去吗。我在jsfiddle上做了一个演示

最佳答案

由于这个问题是在 2013 年提出的,而 IE8 正在迅速淘汰,我想我应该提供一个惊人的弧形文本 CSS 生成器的链接:http://csswarp.eleqtriq.com/ .

关于jquery - 支持 css3 和 ie8 的弧形文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14414693/

相关文章:

javascript - jQuery计算输入的剩余字符长度

javascript - 如何获取jquery中下拉列表中选定值的顺序?

css - Bootstrap : responsive panel and image

html - 无法在 :after pseudo-element used on &lt;input&gt; elements 上设置字体粗细

javascript - 图像对象裁剪并在 Canvas 中心绘制

javascript - 多个子域上图像数据的内联编码

javascript - Google map api,如何处理同一位置的所有标记(重叠标记)的标记悬停事件?

javascript - 如何同步 jQuery 对话框以像 Javascript 的 alert()

css - W3 Total Cache 没有缩小只有几个 CSS

audio - Canvas 或webgl中的声音