开发者

html direction by language? (if english dir=ltr if arabic dir=rtl)

Can I do that?

I mean if, for example, the contents of the <div> is Hebrew or Arabic, float the <div> right and give it a dir="rtl" attribute. And, if the contents of开发者_JS百科 the <div> is English, float to the left and change the dir attribute to "ltr".

Ss that possible?


If you don't know the language, you can use regular expression to find hebrew or arabic characters, and then set the direction accordingly.

Use regular expressions to find Hebrew: Javascript - how to find hebrew?

All unicode blocks, which you can use to edit the above solution to fit also Arabic: http://www.regular-expressions.info/unicode.html#block


well f the user has another language version you can check this (dont know where you save the user language, in a cookie?) fetch this with php or javascript and load the right stylesheet with the right rules


You need to manually put dir attribute for for each div:

<div lang="ar" dir="rtl"><!-- some content here --></div>
<div lang="en" dir="ltr"><!-- some content here --></div>

This would automatically change flow. However, you might need to adjust certain elements depending on the language. You can do that by CSS lang pseudo-attribute:

p:lang(ar) { text-align: right; }
p:lang(en) { text-align: left; }

Of course you could possibly do that:

div:lang(en) { direction: ltr; }
div:lang(ar) { direction: rtl; }

This is unrecommended method. Since you need to put language somehow, you could also put dir attribute. If you do that from some programming language, directionality could usually be determined for given spoken language (Locale, Culture, whatever). But that would be another question.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜