- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个 Web 应用程序需要支持所有语言,包括中东语言。
经过一些阅读,在许多情况下使用 dir
标签似乎可以完成这项工作(例如,文本正确对齐,我有一个表格可以在需要时正确交换)。
我正在使用 Angular,在主 Controller 中,我根据所选语言将全局变量设置为 rtl
或 ltr
。
但是,在某些情况下,交换并没有像我预期的那样发生。有4个div呈现文本信息如下:
<div style="width:100%" dir="{{Language_Layout}}">
<div style="width:25%">
{{Text_of_Div_1}}
</div>
<div style="width:25%">
{{Text_of_Div_2}}
</div>
<div style="width:25%">
{{Text_of_Div_3}}
</div>
<div style="width:25%">
{{Text_of_Div_4}}
</div>
</div>
选择西方语言时,这些divs显示为:
+--------------++--------------++--------------++--------------+
| || || || |
| || || || |
| <text 1> || <text 2> || <text 3> || <text 4> |
| || || || |
| || || || |
+--------------++--------------++--------------++--------------+
and when a middle-east language is selected, my expectation is that it would show as:
+--------------++--------------++--------------++--------------+
| || || || |
| || || || |
| <text 4> || <text 3> || <text 2> || <text 1> |
| || || || |
| || || || |
+--------------++--------------++--------------++--------------+
令我惊讶的是,内部 div 的显示顺序保持不变(即像上面的西方语言示例)。
如前所述,我有一个表格,它确实根据Language_Layout
变量的设置恢复。
谁能告诉我我做错了什么,或者我不应该期望 div 的顺序颠倒?
谢谢!!
最佳答案
对于一行中的 html block ,我看到 direction
具有以下效果:
使用内联 block (有效)
如果你 float 它们(不起作用)
如果你使用 flexbox(可行)
表格展示(作品)
所以我想当您切换方向
时,我有您拥有的选项。让我知道您对此的反馈。谢谢!
$('button').click(function(e) {
if ($(e.target).text() == "Left") {
$('.wrapper').addClass('left');
$('.wrapper').removeClass('right');
} else {
$('.wrapper').removeClass('left');
$('.wrapper').addClass('right');
}
});
.wrapper {
width: 100%;
height: 50px;
line-height: 50px;
text-align: center;
padding: 10px 0;
}
.title {
margin: 5px 0;
}
.box {
height: 100%;
width: 25%;
border: 1px solid green;
margin: 5px;
}
.box.inline-block {
display: inline-block;
vertical-align: middle;
}
.box.float {
display: inline-block;
vertical-align: middle;
float: left;
}
.wrapper.flex {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-around;
}
.wrapper.table {
display: table
}
.wrapper.table > .box {
display: table-cell;
}
.btn {
background: #fff;
border: 1px solid black;
}
.btn.l {
border: 1px solid blue;
}
.btn.r {
border: 1px solid red;
}
.btn_wrapper {
width: 100%;
height: 50px;
line-height: 50px;
text-align: center;
padding: 10px 0;
}
.left {
direction: ltr;
}
.right {
direction: rtl;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="btn_wrapper">
<button class="btn l">Left</button>
<button class="btn r">Right</button>
</div>
<div class="title">
1. Using inline block (works)
</div>
<div class="wrapper">
<div class="box inline-block">text 1.</div>
<div class="box inline-block">text 2.</div>
<div class="box inline-block">text 3.</div>
</div>
<div class="title">
2. If you float them (does not work)
</div>
<div class="wrapper">
<div class="box float">text 1.</div>
<div class="box float">text 2.</div>
<div class="box float">text 3.</div>
<div style="clear:both"></div>
</div>
<div class="title">
3. If you use flexbox (works)
</div>
<div class="wrapper flex">
<div class="box">text 1.</div>
<div class="box">text 2.</div>
<div class="box">text 3.</div>
</div>
<div class="title">
4. table display (works)
</div>
<div class="wrapper table">
<div class="box">text 1.</div>
<div class="box">text 2.</div>
<div class="box">text 3.</div>
</div>
关于HTML RTL/LTR 开关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38952915/
iOS 应用程序,我们要显示来自服务器的新闻。使用UIlabel 当他只用一种语言而不考虑布局时,一切都是完美的(我们正在将布局 RTL 切换为 LTR,以适应不同的语言,包括阿拉伯语、希伯来语) 当
新版本的 React Native 已经发布了对 RTL 设备的支持: https://facebook.github.io/react-native/blog/2016/08/19/right-to
我将 Material UI 5 与 next.js 一起使用,并使用 emotion 和 stylis-plugin-rtl v2 实现了与此处文档完全相同的每个步骤: https://next.m
我知道如何在方向为内联时设置样式 foo div[dir="rtl"] { ....; } 但是如何设置样式 foo ? 两者的行为都符合预期(文本的右“对齐”),但我需要对内部的某些元素进行更精细
这个问题在这里已经有了答案: What is use of android:supportsRtl="true" in AndroidManifest xml file (4 个回答) 关闭4年前。
我正在使用material-ui和next和jss-rtl在我的react项目但是有一个问题页面仍然是ltr使用后 -rtl组件代码: import React from "react"; impor
我敢发誓,vivado 有一个错误,它永远不会刷新对 RTL 文件、verilog 或 vhdl 所做的任何接口(interface)更改,在使用“添加模块”将其粘贴到“ block 设计”后....
我正在尝试将 react Material 模板添加到我的 reactJs 项目中。我修复了所有错误,但我无法修复这个错误 WARNING in ./node_modules/stylis-plugi
我在 android 中构建一个绘图应用程序,我在绘制矩形时注意到一个问题。应该根据语法绘制矩形 new Rect(left, top, right, bottom) 现在我的逻辑通过取起点 (sta
我将 Tinymce 编辑器安装到我的网站。现在我需要将默认方向设置为 RTL 而不是 LTR。您可以在下面看到-- tinymce.init({ selector: 'textar
我注意到没有 bottomEndRadius在形状中,而只是 bottomRightRadius 是否有任何解决方法来支持从右到左的布局? 最佳答案 我发现的唯一方法是为 R
我使用此代码来运行具有 RTL 支持的 Isotope $.Isotope.prototype._positionAbs = function( x, y ) { return { right:
尝试显示以数字开头的希伯来语字符串,总是在字符串末尾显示数字,如下所示:1. йום שйשй בבוקר 但我需要在文本右侧显示数字- 有什么解决办法吗? 它发生在 UILabel & UIText
我在 react-native 中创建了一个应用程序,当电话语言为 En 时一切正常,但是当我更改电话语言时,UI 崩溃并且一切都向后 我在用 "react": "16.6.3", "reac
WordPress 非常强大......但对于阿拉伯语和希伯来语等 RTL 语言却很弱......我需要让前端使用阿拉伯语,而管理区域则需要使用英语,当然还有 LTR。如果我使用阿拉伯语版本的Word
我想知道为什么将Camera2 API与RTL语言一起使用时,摄像机预览会有所不同。具体来说,我有两个问题: 使用RTL时,相机上是否有任何特定设置? 我正在通过OpenCV使用边缘检测。 OpenC
我正在尝试在阿拉伯语 RTL 页面中使用 jQuery 菜单。我可以将其设为 RTL,但图标应该是 ui-icon-carat-1-w 而不是 ui-icon-carat-1-e。我创建了jsfidd
我正在尝试在统一输入字段中编写波斯语。波斯语是从右到左的语言,其字母与阿拉伯语相似。 我找到了 library转换和更正文本。它工作得很好。当我将转换后的文本显示为 Debug.Log() 时,一切都
我的应用程序支持 4 种不同的语言,其中两种是从右到左编写的。 如果我从 android 系统更改语言然后启动我的应用程序,一切正常。我得到一个镜像布局 (RTL),甚至导航栏也是镜像的。 我的问题是
我正在设计一种布局,该布局在不同的 View 中同时包含英语和希伯来语(旨在从右到左)文本。当一行希伯来语文本超过一定长度时,它会变成从左到右书写(我认为这与长度有关,因为它在较短的文本上看起来很好,
我是一名优秀的程序员,十分优秀!