2015-07-17 21 views
9

Birçok farklı yerel yeri destekleyen bir sitede çalışıyorum. Sonraki bölgemiz, sağdan sola doğru bir dil olan İbranicedir. HTML öğesinde dir=rtl ve lang=he ayarlıyorum ve bazı şeyler (gerektiği gibi) değişiyor.Sağdan sola yazılan dilde sol ve sağ css değerlerini değiştirmenin bir yolu var mı?

Web sitesinin çoğu, mutlak konumlandırma ayarını soldaki değere ayarlayan öğeler kullanır. Eğer rtl modunda olduğunuzda bunu doğru değer olarak değiştirecek şekilde yapmanın bir yolu var mı?

Benim html öğesinde bir rtl sınıfına sahip olabileceğimi ve bu sınıf mevcut olduğunda css geçersiz kılmaları yapabileceğimi biliyorum, ancak proje oldukça büyük ve tüm bu oluşumları el ile ele almak eğlenceli olmaz.

+1

Bunu ancak bunu yapmak için hiçbir İçerisine yerleştirilmiş yolu (JSON ile veya bir veritabanında ve almak) global dizi değişkeni ayarlayabilirsiniz –

+0

gerçekten oldukça interresting soru ayarlamak için orada var olduğunu tahmin hangi diller sağdan sola yazılır ve tersi –

+0

WordPress gibi çerçeveler sağdan sola yazılan diller için bir 'rtl.css' dosyası kullanır, bu yüzden muhtemelen ikinci bir css dosyasını tanımlamanız gerekir. Tüm konumlandırma bilgileriniz css'de olduğu sürece, bu işe yarardı, ancak bir şeyi hareket ettirmek için bir sol ve sağ kullanan javascript yöntemleri de değiştirilmelidir. – ps2goat

cevap

2

Ders ekleyerek daha sağlam olacağını düşünüyorum, ama ne kadar eğlenceli olacağını düşünün, onları JavaScript ile avlayın!

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 
     }) 
    } 
    }) 
}) 
+0

Böyle bir şey muhtemelen işe yarayacaktır. Muhtemelen biraz değiştirebilirdim, ama bunu yapmak için başka bir yol düşünemiyorum. –

+0

Değiştir! İstenen sonucun ne olduğuna bağlı, ama kesinlikle işe yarayacaktı. – azium

İlgili konular