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에 대한 부트 스트랩 3 지원을 원하는 경우 CSS 규칙을 "즉시"수정할 수 있습니다. 여기에 첨부 된 함수는 col- (xs | sm | md | lg와 같은 부트 스트랩 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')그것은 부트 스트랩 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 웹 디자인에 사용됩니다.

html에 "dir"을 추가하십시오. 그게 당신이해야 할 유일한 작업입니다.

AryaBootstrap 웹 사이트 : http://abs.aryavandidad.com/

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.