2015-07-17 3 views
9

Ich arbeite an einer Website, die viele verschiedene Gebietsschemas unterstützt. Unser nächster Ort ist Hebräisch, eine Sprache von rechts nach links. Ich setze die dir=rtl und lang=he auf das HTML-Element, und bestimmte Dinge verschieben sich (wie sie sollten).Gibt es eine Möglichkeit, die linken und rechten CSS-Werte in einer Sprache von rechts nach links zu wechseln?

Viele der Website verwendet Elemente mit absoluter Positionierung Einstellung der linken Wert. Gibt es eine Möglichkeit, es im rtl-Modus so zu machen, dass es zum richtigen Wert wird?

Ich weiß, dass ich eine rtl Klasse auf meinem HTML-Element haben könnte und CSS überschreibt, wenn diese Klasse vorhanden ist, aber das Projekt ist ziemlich groß und es würde nicht Spaß machen, alle diese Vorkommen manuell zu suchen.

+1

Ich denke, es kein inbuild Weg, dies zu tun, aber das ist ganz interressant Frage in der Tat –

+0

Sie in einem globalen Array-Variable (oder in einer Datenbank und bekommen es mit JSON) einstellen zu setzen, Sprachen werden von links nach rechts geschrieben und umgekehrt. –

+0

Frameworks wie WordPress verwenden eine Datei 'rtl.css' für Sprachen, die von rechts nach links geschrieben sind, so dass Sie wahrscheinlich eine zweite CSS-Datei definieren müssen. Solange alle Ihre Positionierungsinformationen in CSS sind, würde dies funktionieren, obwohl JavaScript-Methoden, die Links und Rechts verwenden, um Dinge zu verschieben, ebenfalls modifiziert werden müssten. – ps2goat

Antwort

2

Ich denke, das Hinzufügen von Klassen wäre robuster, aber wenn man bedenkt, wie wenig Spaß das wäre, jagen Sie sie mit 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 
     }) 
    } 
    }) 
}) 
+0

So etwas würde wahrscheinlich funktionieren. Ich würde es wahrscheinlich etwas modifizieren, aber ich kann mir keinen anderen Weg vorstellen, dies wirklich zu tun. –

+0

Ändern weg! Es hängt wirklich davon ab, was das gewünschte Ergebnis ist, aber es würde definitiv funktionieren. – azium

Verwandte Themen