2013-04-22 40 views
0

我的国家脚本是垂直书写的,从左到右排列。自定义textarea的文本对齐

我需要为此需求自定义textarea的文本对齐方式。

默认情况下,textarea中的文本是水平写入的,从上到下对齐。我附上了我的国家剧本的照片。

任何想法如何做到这一点?如何自定义文本区域的文本对齐方式?

对不起,我英文很差。

enter image description here

+3

我看不到任何东西连接... – eis 2013-04-22 07:02:19

+1

您可能没有足够的权限后的图像。你可以发布一个链接到图像?人们可以为你更新。 – Passerby 2013-04-22 07:03:13

+0

你可以上传图片http://imgur.com/ – 2013-04-22 07:09:06

回答

3

我想你所指的写作模式,而不是对齐:使文本在一条线上垂直延伸,由上到下,你需要有浏览器所呈现的文字,并与左布局线向右。

目前看来这是不可能的。但是,在某些使用可编辑的div元素而不是textarea的浏览器中,您可能会达到预期效果。

根据CSS Writing Modes Module Level 3草案,您可以简单地设置writing-mode: vertical-lr。看起来目前还没有实现,但IE已经有了它自己的版本,该属性的命名值不同,Chrome现在支持该属性,但仅支持供应商前缀。

但是,尽管一般情况下对设置有一些浏览器支持,但它似乎不适用于textarea:在IE中,文本垂直运行,但行从右向左运行,第一行放置在该地区的权利;在Chrome中,文本水平运行。原因可能是textarea元素具有与写入模式的实现冲突的特殊实现。

示例代码(您可能需要调整字体的设置使用含有蒙古字母的字体看到这一点):

<style> 
div, 
textarea { 
    writing-mode: tb-lr; 
    -moz-writing-mode: vertical-lr; 
    -webkit-writing-mode: vertical-lr; 
    writing-mode: vertical-lr; 
} 
</style> 
<textarea rows=7 cols=7>ᠮᠣᠨᠭᠭᠣᠯ ᠬᠡᠯᠡ ᠤᠯᠠᠭᠠᠨᠪᠠᠭᠠᠲᠤᠷ</textarea> 
<div style="width: 5em; height: 4em; border: solid blue 1px"> 
ᠮᠣᠨᠭᠭᠣᠯ ᠬᠡᠯᠡ ᠤᠯᠠᠭᠠᠨᠪᠠᠭᠠᠲᠤᠷ 
</div> 

所以在我的测试中,div看起来不错的IE浏览器和Chrome浏览器,但textarea没有。因此,也许你可以使用<div contenteditable>和一些JavaScript,在表单提交时(如果这是为了将表单提交给服务器端处理)将div内容复制到隐藏字段。

这是它是如何工作的IE浏览器:

enter image description here