有没有办法在从右到左的语言中切换左右css值?

时间:2015-07-17 18:53:31

标签: javascript jquery html css right-to-left

我正在支持许多不同语言环境的网站上工作。我们的下一个地方是希伯来语,这是一种从右到左的语言。我在HTML元素上设置dir=rtllang=he,并且某些事情会发生变化(正如他们应该的那样)。

许多网站使用绝对定位设置左值的元素。有没有办法在你处于rtl模式时这样做,它会将它切换为正确的值?

我知道我可以在我的html元素上有一个rtl类,当该类存在时执行css覆盖,但项目非常大,并且手动搜索所有这些事件并不会很有趣

1 个答案:

答案 0 :(得分:2)

我认为添加类会更强大,但考虑到会有多么无趣,用JavaScript搜索它们!

Codepen

$(document).ready(function () {
  var elsToFlip = $('*')
  elsToFlip.each(function () {
    var pos = $(this).css('position')
      , left = $(this).css('left')

    if (pos === 'absolute' && left !== 'auto') {
      $(this).css({
        left: 'initial'
      , right: left
      })
    }
  })
})