2013-06-28 36 views
0

我的网页有input的使用font-style: normalfont-style: italic可以HTML字体样式影响输入长度

但是,在Firebug中查看我的输入框时,发现将字体样式从“普通”更改为“斜体”时,这些斜体输入的宽度会缩短。因此,输入的长度变化如下:较短的代表“font-style:italic”,而较长,代表“font-style:normal”。

这是否有意义?或者这可能不是原因?

编辑

看它多之后,很明显的是,font-style: italic输入,与它的其他样式属性一起,占据了比font-style: normal输入更多的空间(HTML size,我相信)。

+0

我没有看到区别。 http://jsfiddle.net/g6eLf/你确定这是唯一的风格差异?也许有些代码。 – Pevara

+0

@PeterVR,我也是。谢谢 –

回答

3

输入的(像素)宽度(如果未明确指定)基于指定的最大文本大小和平均宽度(可能为en-size)。这个宽度可以根据字体变化而有所不同,所以我可以看到它的差异。

也许你可以通过指定一个确切的宽度来解决它。如果您喜欢相对大小,则可以将输入放入容器元素中。在ptem单位中给出该元素的宽度。给它的父宽度的100%的输入(或使其display: block)。

现在,您可以基于容器元素的字体指定相对宽度,如果输入元素具有不同的字体,则为event。

+0

谢谢你的帮助。如果我设置'max-width:Xem',其中X = some#?这将限制输入到一个定义的'em'的宽度,对吧? –

2

字体样式肯定会影响文本的宽度。例如,对于Verdana中的文本,斜体样式的文本比普通样式中的相同文本更宽(以像素为单位)。这是根据斜体字体的性质预计的,但它实际上取决于字体。例如,考虑正常的“l”,其倾向于相当窄,尤其是在无衬线字体中,斜体的“l”或多或少是倾斜的,因此需要更多的宽度。

这听起来很奇怪(虽然它在理论上是可能的),斜体文本比正常文本更短(更窄)。为了分析具体情况,需要一些触发此行为的特定代码以及测试中使用的浏览器信息。