文本框中间的光标?

30

在我创建的一个非常简单的HTML表单中,我请求用户提供更多细节信息,并将这个部分编码为:

<textarea rows="1" cols="50" wrap="physical" name="comments">

</textarea>

为什么光标从这个框的中间开始?好吧,它不是直接在中间,但它肯定不在盒子的起点(左上角)。我在这里看到了很多解决方案,它们都需要使用Javascript来纠正这个问题。有没有一种只用html就能解决这个问题的方法呢?


为什么要使用单行文本框?可以使用文本域并将其调高。另外,您能否发布一个示例以说明您所看到的情况?仅凭这些信息无法展现您所描述的行为。 - j08691
@j08691:抱歉,那只是一个例子。在我的表单中,它比一个行高更高。然而,根据这个解决方案,看起来这已足以复制问题。 - Ray
4个回答

70
当您将其更改为什么会发生:
<textarea rows="1" cols="50" wrap="physical" name="comments"></textarea>

我认为它没有从开头开始,因为你在标签内部有空白。


啊,那可能就是了!这取决于他是否确切地指的是“中间”,还是仅仅是“不是左边”(或者它里面确实有25个空格 :) )。 - Gus
谢谢,非常好的答案。 - Koray Tugay
2
简洁的答案可以解决看似荒谬的问题,而这些问题本来会浪费宝贵的时间进行调试。这正是 Stack Overflow 成为了一个绝妙资源的原因。谢谢! - thedarklord47
我刚刚把结束标签放在了新的一行,这也导致了同样的问题。你会认为在2019年这种事情不会发生。 - Nik Hammer-Ellis
是的,您只需将起始和结束标签放在同一行内。 - James Ikubi

10

发生这种情况的原因是在 <textarea> 标签之间有空格。尝试这样做:

<textarea rows="1" cols="50" wrap="physical" name="comments"></textarea>

1
通常情况下,我们在两个开放和关闭的“textarea”标签之间输入空格以增加可读性。

即您的开放<textarea>标签和关闭</textarea>标签位于不同的行或它们之间有一些空白。


0

听起来很奇怪。你有没有在Firebug中查看CSS效果?我能想到的唯一可能是它受到了text-align: center的影响。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接