2015-02-11 58 views
0

我在jsfiddle上用font-size和line-height做了一个textarea的简单示例。了解css textarea偏移量

JSFiddle textarea

textarea { 
    font-size: 20px; 
    line-height: 4; 
    height: 260px; 
} 

<textarea> 
A 
A 
A 
</textarea> 

Offsets between lines Small caret Big caret

1)如何浏览器计算AREA_1高度和AREA_2高度?他们为什么不同?

2)浏览器如何计算textarea中的插入符号大小?为什么第一行的插入符号要比第二行的小得多?

+0

我在Firefox和Safari中检查了这个 - 绝对是一样的行为 – Vadim 2015-02-11 14:31:15

回答

1

事实证明,它是在铬的错误:Cursor line-height bug on inputs

CSS使用所谓的半领先渲染文本行。通过计算 行高和字体大小之间的差值除以2,然后将 计算的空间量放在每行文本上方和下方,可以确定此 。因此,如果您的字体大小为16px,并且有效的行高为24px,则 的前半部分为4px。

通过Joshua Hibbert

+0

有什么办法可以防止文本第一行的顶部偏移? – Vadim 2015-02-11 14:59:15

+0

为'line-height'设置一个小的值,与字体大小相同或略大。 – Stickers 2015-02-11 15:03:41

0

1)我认为浏览器使用高于和低于一行的高度相等。如下所示:

----- 

A 

----- 

A 

----- 

2)在我的浏览器中(Firefox),插入符总是相同的大小。

+0

我在Firefox和Safari中检查了这一点 - 完全一样的行为。正如我在原始文章中所展示的 - 这些高度并不相同。 – Vadim 2015-02-11 14:31:53