根据用户请求,我正在努力使我的(PhoneGap)webapp更好地使用RTL语言,例如希伯来语。我希望使用这些语言使我的输入和textareas更好地工作。当用户将键盘切换为这种语言时,输入方向会根据需要自动切换到从右到左。但是,文本对齐保留在左侧,这是不幸的。我意识到我可以使用 dir 属性切换文本对齐方式,如下所示:
<input dir="rtl" />
我的计划是使用JavaScript以某种方式检测RTL输入语言并将此属性添加到所有输入和textareas。然而,这似乎有点麻烦。有一种我更容易忽视的方式吗?我不喜欢为这个简单的任务添加更多JavaScript的想法。
答案 0 :(得分:1)
如果整个页面都是用希伯来语或阿拉伯语编写的,那么您应该在dir
元素上添加html
属性,以及lang="he"
/ lang="ar"
属性(后者是为VoiceOver而不是读希伯来语/阿拉伯语而认为它是英语。字母和发音完全不同:))。
如果只有部分页面是用希伯来语写的,那么每个包含希伯来语文本的元素都应该具有这些属性(或其父级),而英语中的其他部分应该具有dir="ltr" lang="en"
属性,这样就不会有文本没有相应的lang
和dir
属性。在单个父项上添加它们比在每个单独的HTML元素上添加它们更快,如果父项有5个英语节点和1个希伯来语节点,它只需要2个属性:1表示父项lang="en" dir="ltr"
,另一个表示孩子包含希伯来语的元素。
对于由rtl编写引起的样式问题,您可以使用其中一个属性作为每个CSS属性的巨型开关,例如float
使用left
或right
值(以及类似属性) right
,border-right
,margin-right
,margin: t r b l;
;请在UTF-8 and CSS上查看我的第一个答案的第二部分。注意:iOS没有问题高级 CSS选择器,当我们不得不支持IE6时,这只是梦想;))