これについて以前に質問がありました: RTL言語からサポートするTwitter Bootstrap CSS
しかし、すべての答えはBootstrap 2.xに適しています
私はアラビア語(rtl)のプロジェクトに取り組んでおり、右から左にBootstrap 3.xが必要です。
誰かがその修正を知っていますか?
これについて以前に質問がありました: RTL言語からサポートするTwitter Bootstrap CSS
しかし、すべての答えはBootstrap 2.xに適しています
私はアラビア語(rtl)のプロジェクトに取り組んでおり、右から左にBootstrap 3.xが必要です。
誰かがその修正を知っていますか?
回答:
bootstrap-rtlを強くお勧めします。これはブートストラップコア上に構築されており、ブートストラップテーマであるためrtlサポートが追加されています。これにより、コアブートストラップファイルを常に更新できるため、コードの保守性が向上します。CDN
このスタンドアロンライブラリを使用する別のオプション。いくつかの素晴らしいアラビア語フォントも付属しています。
RTL Bootstrap v3.2.0で確認できます。
サイトのブートストラップペルシャバージョンhttp://rbootstrap.ir/ Ver.2.3.2
これは別のプロジェクトです: www.nuget.org/packages/Twitter.Bootstrap.RTL
ブートストラップのすべてのバージョンで、手動で実行できます
これはRTLにしたいことのほとんどをします
最後に、右から左のブートストラップの新しいバージョンを見つけることができます。すべての人が使用できるようにここで共有:
bootstrap-3-3-7-rtlおよびRTL Bootstrap 4.0.0-alpha.6.1
GitHubリンク:
https://github.com/parsmizban/RTL-Bootstrap
parsmizban.comの作成と共有に感謝します。
私はこれが非常に役に立ったと思ったので、確認してください:http : //cdnjs.com/libraries/bootstrap-rtl
サイトで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;
}
}
}
私のプロジェクトを使用して、sassとgulpでブートストラップ3 rtlを作成できるので、簡単にカスタマイズでき ますhttps://github.com/z-avanes/bootstrap3-rtl
AryaBootstrapを発表し、
最後のバージョンはブートストラップ4.3.1に基づいています
AryaBootstrapは、デュアルレイアウト配置サポートを備えたブートストラップであり、LTRおよびRTL Webデザインに使用されます。
「dir」をhtmlに追加します。これが、実行する必要がある唯一のアクションです。
http://abs.aryavandidad.com/にあるAryaBootstrap Webサイトを確認して ください。
GitHubのAryaBootstrap:https : //github.com/mRizvandi/AryaBootstrap