首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在RTL语言中加载RTL样式

如何在RTL语言中加载RTL样式
EN

Drupal用户
提问于 2016-08-01 10:24:50
回答 2查看 3.4K关注 0票数 8

我有一个多语言网站,其中一种语言是RTL语言,在drupal 7中,我将style.css和rtl.css中的CSS放在style-rtl.css中,默认情况下Drupal也加载样式-rtl.css文件,现在在Drupal 8中,我有一个多语言主题,我如何告诉Drupal以RTL语言加载我的RTL样式?

更新我发现了此链接,但我不确定,因为我有一个近1400行的CSS文件,我应该把Dir=“rtl”放在所有选择器的前面?!

EN

回答 2

Drupal用户

回答已采纳

发布于 2016-08-01 12:05:39

Drupal 8使用库,您可以在模板中加载这些库。实现语言方向依赖库的一种方法是在html_attributes['dir']中使用html.html.twig变量,并根据值加载不同的库:

代码语言:javascript
运行
复制
{% if html_attributes['dir'] == 'ltr' %}
  {{ attach_library('your_theme_name/styles') }}
{% elseif html_attributes['dir'] == 'rtl' %}
  {{ attach_library('your_theme_name/styles_rtl') }}
{%- endif -%}

建立几个图书馆:

代码语言:javascript
运行
复制
styles:
  version: 8.x-1.0
  css:
    theme:
      css/styles.css: {}

styles_rtl:
  version: 8.x-1.0
  css:
    theme:
      css/styles-rtl.css: {}
票数 8
EN

Drupal用户

发布于 2021-05-14 16:02:27

我刚刚编写了一个名为树枝RTL检测的简单模块,它扩展了twig,并为twig提供了一个布尔is_language_rtl函数,因此,如果这个函数在您想要的任何html.twig文件中返回TURE,您可以简单地添加html.twig库。

代码语言:javascript
运行
复制
{{ attach_library('my_theme/front') }}
{% if is_language_rtl() %}
  {{ attach_library('my_theme/front_rtl') }}
{% endif %}
票数 1
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/209024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档