Twitter Bootstrap 3 için Sağdan Sola destek


Yanıtlar:


165
  1. Bootstrap-rtl'yi şiddetle tavsiye ederim . Bootstrap çekirdeği üzerine inşa edilmiştir ve bir bootstrap teması olduğu için rtl desteği eklenmiştir. Bu, çekirdek önyükleme dosyalarınızı her zaman güncelleyebildiğiniz için kodunuzu daha sürdürülebilir hale getirir. CDN

  2. Bu bağımsız kitaplığı kullanmak için başka bir seçenek , birkaç harika Arapça yazı tipiyle birlikte gelir.





6

her bootstrap sürümünde bunu manuel olarak yapabilirsiniz

  1. Vücudunuza rtl yönünü ayarlayın
  2. bootstrap.css dosyasında ".col-sm-9 {float: left}" ifadesini arayın, float: right olarak değiştirin

bu, rtl için istediğin çoğu şeyi yapar


1
Bu çok yardımcı oldu
Nick M



3

Sitenizde RTL ve LTR için Bootstrap 3 desteği istiyorsanız, CSS kurallarını "anında" değiştirebilirsiniz, buraya bir işlev eklenmiştir, col- (xs | sm | md | lg gibi Bootstrap 3 için ana sınıfları değiştirir ) - (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), değiştirilecek daha birçok sınıf var ama sadece bunlara ihtiyacım vardı.

Tek yapmanız gereken tek şey işlev çağrısı olduğu layout.setDirection('rtl')veya layout.setDirection('ltr')ve Bootstrap 3 ızgara sistemi için CSS Kuralları değişecektir.

Tüm tarayıcılarda çalışmalıdır (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;
                }
            }
        }


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.