Twitter Bootstrap 3の右から左へのサポート


回答:


165
  1. bootstrap-rtlを強くお勧めします。これはブートストラップコア上に構築されており、ブートストラップテーマであるためrtlサポートが追加されています。これにより、コアブートストラップファイルを常に更新できるため、コードの保守性が向上します。CDN

  2. このスタンドアロンライブラリを使用する別のオプション。いくつかの素晴らしいアラビア語フォントも付属しています。





6

ブートストラップのすべてのバージョンで、手動で実行できます

  1. あなたの体にRTLの方向を設定します
  2. bootstrap.cssファイルで、「。col-sm-9 {float:left}」式を探し、float:rightに変更します

これはRTLにしたいことのほとんどをします


1
これは非常に役に立ちました
Nick M



3

サイトでRTLおよびLTRのBootstrap 3サポートが必要な場合は、CSSルールを「オンザフライ」で変更できます。ここに添付されている関数は、cols-(xs | sm | md | lgのようにBootstrap 3の主要なクラスを変更します)-(1-12)、col-(xs | sm | md | lg)-push-(1-12)、col-(xs | sm | md | lg)-pull-(1-12)、col- (xs | sm | md | lg)-offset-(1-12)、変更するクラスが他にもたくさんありますが、必要なのはそれらだけです。

必要なのは、関数を呼び出すlayout.setDirection('rtl')layout.setDirection('ltr')、またはBootstrap 3グリッドシステムのCSSルールを変更することだけです。

すべてのブラウザで動作するはずです(IE> = 9)。

        var layout = {};
        layout.setDirection = function (direction) {
            layout.rtl = (direction === 'rtl');
            document.getElementsByTagName("html")[0].style.direction = direction;
            var styleSheets = document.styleSheets;
            var modifyRule = function (rule) {
                if (rule.style.getPropertyValue(layout.rtl ? 'left' : 'right') && rule.selectorText.match(/\.col-(xs|sm|md|lg)-push-\d\d*/)) {
                    rule.style.setProperty((layout.rtl ? 'right' : 'left'), rule.style.getPropertyValue((layout.rtl ? 'left' : 'right')));
                    rule.style.removeProperty((layout.rtl ? 'left' : 'right'));
                }
                if (rule.style.getPropertyValue(layout.rtl ? 'right' : 'left') && rule.selectorText.match(/\.col-(xs|sm|md|lg)-pull-\d\d*/)) {
                    rule.style.setProperty((layout.rtl ? 'left' : 'right'), rule.style.getPropertyValue((layout.rtl ? 'right' : 'left')));
                    rule.style.removeProperty((layout.rtl ? 'right' : 'left'));
                }
                if (rule.style.getPropertyValue(layout.rtl ? 'margin-left' : 'margin-right') && rule.selectorText.match(/\.col-(xs|sm|md|lg)-offset-\d\d*/)) {
                    rule.style.setProperty((layout.rtl ? 'margin-right' : 'margin-left'), rule.style.getPropertyValue((layout.rtl ? 'margin-left' : 'margin-right')));
                    rule.style.removeProperty((layout.rtl ? 'margin-left' : 'margin-right'));
                }
                if (rule.style.getPropertyValue('float') && rule.selectorText.match(/\.col-(xs|sm|md|lg)-\d\d*/)) {
                    rule.style.setProperty('float', (layout.rtl ? 'right' : 'left'));
                }
            };
            try {
                for (var i = 0; i < styleSheets.length; i++) {
                    var rules = styleSheets[i].cssRules || styleSheets[i].rules;
                    if (rules) {
                        for (var j = 0; j < rules.length; j++) {
                            if (rules[j].type === 4) {
                                var mediaRules = rules[j].cssRules || rules[j].rules
                                for (var y = 0; y < mediaRules.length; y++) {
                                    modifyRule(mediaRules[y]);
                                }
                            }
                            if (rules[j].type === 1) {
                                modifyRule(rules[j]);
                            }

                        }
                    }
                }
            } catch (e) {
                // Firefox might throw a SecurityError exception but it will work
                if (e.name !== 'SecurityError') {
                    throw e;
                }
            }
        }


0

AryaBootstrapを発表し、

最後のバージョンはブートストラップ4.3.1に基づいています

AryaBootstrapは、デュアルレイアウト配置サポートを備えたブートストラップであり、LTRおよびRTL Webデザインに使用されます。

「dir」をhtmlに追加します。これが、実行する必要がある唯一のアクションです。

http://abs.aryavandidad.com/にあるAryaBootstrap Webサイトを確認して ください。

GitHubのAryaBootstrap:https : //github.com/mRizvandi/AryaBootstrap

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.