如何使用引导栏为整个应用程序正确设置text direction attribute = RTL?

时间:2019-01-05 17:53:40

标签: ruby-on-rails sass right-to-left

我正在学习将Bootstrap gem 4.2.1与Rails 5.2.2结合使用,并且在理解如何将整个Rails应用程序的内容方向设置为从右到左时遇到一些困难。

文件app/views/layout/application.html.erb的前两行

<!DOCTYPE html>
<html lang="ur" dir="rtl">

很好地翻转引导程序nav

诸如html之类的其他h1元素继续从右向左显示内容,除非我如下图所示覆盖app/assets/stylesheets/application.scss中的样式

 p{
    font-family: 'Jameel Noori Nastaleeq';
    src:asset-url('JameelNooriNastaleeq.ttf') format("truetype");
    float:right;
    direction: rtl;

}

.navbar-brand{
    font-family: 'Jameel Noori Nastaleeq';
    src:asset-url('JameelNooriNastaleeq.ttf') format("truetype");
}

p标签从右到左根据需要呈现内容。所有其他标签,例如h1从左到右呈现内容。

我的问题是如何为整个Rails应用程序从右向左设置内容的方向?

我的rails应用的完整代码可在github上找到。

1 个答案:

答案 0 :(得分:0)

我怀疑Bootstrap库会使用<html>属性覆盖您在rtl标记中设置的行为。

在他们的github存储库上,它说他们don't support RTL as of now.。因此,推荐的方法是使用具有RTL支持的自定义引导程序库,例如:bootstrap-rtl

在您的特定情况下可能唯一的问题是您使用Bootstrap 4.2,但我不确定bootstrap-rtl是否支持所有4.2功能,因为它适用于3.X。