在swscing css文件后,Safari会忽略css dir =“ltr”

时间:2015-04-23 07:42:39

标签: javascript jquery html css safari

我为我的网站添加了英语,因此它将支持2种语言。 在第一种语言中,我使用css文件,其中一切都是RTL。 现在,当我切换到英语时,我删除RTL css文件并添加一个css文件,其中dir是LTR。 在Chrome,IR和Firefox上它运行正常。 但是在Safari(我只尝试过移动游猎)上,它暂时忽略了LTR。 您可以在此处查看:http://parkplanner.co.il/并使用菜单上的“英语”按钮更改语言。

这是LTR css文件 - http://parkplanner.co.il/css/ltr-adj.css

谢谢!

2 个答案:

答案 0 :(得分:1)

使用direction:ltr;而不是dir属性

答案 1 :(得分:0)

这看起来是众所周知的问题。 阅读帖子。 Force DOM redraw/refresh on Chrome/Mac

// in jquery $('#parentOfElementToBeRedrawn').hide().show(0);

// in plain js document.getElementById('parentOfElementToBeRedrawn').style.display = 'none'; document.getElementById('parentOfElementToBeRedrawn').style.display = 'block';

如果这个简单的重绘不起作用,你可以尝试这个。它会在元素中插入一个空文本节点,以保证重绘。

var forceRedraw = function(element){

    if (!element) { return; }

    var n = document.createTextNode(' ');
    var disp = element.style.display;  // don't worry about previous display style

    element.appendChild(n);
    element.style.display = 'none';

    setTimeout(function(){
        element.style.display = disp;
        n.parentNode.removeChild(n);
    },20); // you can play with this timeout to make it as short as possible
}