CSS将元素的高度设置为自动高度的%

时间:2012-09-02 05:29:05

标签: html css input height

我正在寻找CSS中的一种方法,如果没有声明高度,将文本输入的高度设置为自然给出font-family / font-sizes时自然给出的正常高度的百分比。我正在寻找它所在容器高度的百分比。就像这样:
CSS:

#container {
    height: 100%;
    width: 100%;
}
input {
    width: 100%;
    background: orange;
    height: [I want this 150% of the height normally assigned to the element]
    font-family: inherit;
    font-size: inherit;
}
#results {
    width: 100%;
    background: pink;
    height: auto;
    height: 100%;
}

HTML:

<div id="container">
<input type="text">
<div id="results"></div>
</div>

2 个答案:

答案 0 :(得分:1)

如果jQuery正在播放,你可以这样做:

$('input').css('height',parseFloat($('input').css('height'))*1.5)

工作示例:

http://jsfiddle.net/ghxh8/

答案 1 :(得分:1)

使用em

(...)
height: 1.5em;
(...)

修改

总是对remember好:

4.3.1整数和实数

  

某些值类型可能包含整数值(表示为)或   实数值(表示为)。实数和整数   仅以十进制表示法指定。一个由一个组成   或更多数字“0”到“9”。 A可以是,或   它可以是零个或多个数字后跟一个点(。)后跟一个或   更多数字。整数和实数都可以在前面加上“ - ”   或“+”表示标志。 -0相当于0而不是a   负数。

     

请注意,许多属性允许使用整数或实数作为   值实际上将值限制在某个范围内,通常是a   非负值。

所以1,5em很垃圾,对不起!

修改

您对em的评论是正确的,see

  

'em'单位等于'font-size'的计算值   使用它的元素的属性。例外是什么时候   'em'出现在'font-size'属性本身的值中,其中   case它指的是父元素的字体大小。可以使用它   用于垂直或水平测量。 (这个单位有时也是   在印刷文本中称为四边形。)

相关问题