更改HTML 标签的方向从右到左
考虑这个标题的网页:
更改HTML <title>标签的方向从右到左
这是从右到左,左到右语言的混合文本,整个文本的方向性可能是:
左到右,如果LTR文本里面你嵌入RTL片段
从右到左,如果RTL文本
在一些网页内你嵌入升段,您需要提供一个从右到左的标题,左混合从右到右的文本片段。但是,浏览器不能正确格式化。它呈现整个<title>
内容的ltr
方向性。这将导致一个称号,这应该显示像
要显示像
我知道CSS是不是在那里工作。有没有办法强制浏览器呈现正确的方向性<title>
?
您可以尝试使用Unicode右向左覆盖字符。请参阅here。
也就是说,用‮
开始标题文本快速测试表明它起作用,至少在我的浏览器上;不知道它是否可以在所有浏览器上使用。它可能会倒写比萨饼。小心使用。
它肯定会写比萨“向后”(从右到左),因为这就是*覆盖*在这里意味着什么。这就是为什么右向左嵌入更好:它不会影响强方向性文本的书写方向,比如“比萨”,所以你不需要将它写在源文件中作为“azziP”(这不会很好到您的搜索引擎排名)。 – 2012-01-05 21:46:42
没有办法强制浏览器改变方向。 当然,您可以用另一种方式编写句子,并且有可以获得RTL文本的API,并生成一个LTR文本,其最终结果看起来像一个有效的RTL句子。
请注意,某些浏览器,特别是RTL语言位置的浏览器,首先会得到一个RTL浏览器。也就是说,他们的头衔是RTL。对于好的和坏的。因此,即使您按照我所述应用了RTL到LTR的破解,这些用户也会反过来看到它。
你能说出一个API来做到这一点吗? – 2012-01-02 07:37:46
搜索BiDi.dll或BiDi算法。看看这个(我不知道它是否有帮助):http://wiki.winehq.org/BiDi。此外,该工具还允许您在Web界面上更改RTL/LTR(不是API,但您可能可以从中购买):http://www.pixiesoft.com/flip。这是一个希伯来语界面,但你会管理。 – 2012-01-02 07:43:04
你试过:
<title>left to right ‮right to left</title>
为体,您可以使用CSS(direction: rtl;
和unicode-bidi: bidi-override;
)或标记(<bdo dir="rtl">
)。
演示:http://jsfiddle.net/ThinkingStiff/hD5Sp/
HTML:
<span>left to right <bdo dir="rtl">"right to left"</bdo> left to right</span><br />
<span class="rtl">right to left <span class="ltr">"left to right"</span> right to left</span>
CSS:
.rtl {
direction: rtl;
unicode-bidi: bidi-override;
}
.ltr {
direction: ltr;
unicode-bidi: bidi-override;
}
输出:
使用在title
元素内容的开始处的右到左嵌入字符(RLE,U + 202B),例如,
<title>‫אבג Hello ابثج</title>
RLE通常被描述,并用作一个字符被使用(使用POP方向格式一起)用于嵌入左到右文本运行到从右到左的文本,或反之亦然,在情况下没有通过自动机制妥善处理。但它似乎也适用于title
元素,至少在IE,Firefox和Opera上。
是否有可能标题的一部分是从右到左并且是从左到右的一部分?
例如:
<title> This part is right to left | This part is left to right | This part is righ to left </title>
只需使用这个CSS规则来涵盖所有情况:
*[dir="ltr"] {
direction: ltr;
unicode-bidi: embed;
}
*[dir="rtl"] {
direction: rtl;
unicode-bidi: embed;
}
bdo[dir="ltr"] {
direction: ltr;
unicode-bidi: bidi-override;
}
bdo[dir="rtl"] {
direction: rtl;
unicode-bidi: bidi-override;
}
为什么不写反了完整的标题像一些特定的语言: - *** enod eb t'nac sihT *** :-P – 2012-01-02 07:38:11