关于在绝对定位的textarea上使用left / top / right / bottom

时间:2012-03-26 21:27:49

标签: html css firefox

我尝试将position:absolute然后lefttoprightbottom设置为固定值(以像素为单位),但除非我也设置{{1 }}和width我无法让它在Firefox 11上正常运行。

渲染在safari / chrome上看起来没问题......但是这是一个Firefox bug还是其他不符合标准的东西?对heightwidth使用100%有时是一种解决方案,但在元素未完全覆盖父容器时则不行。

请参阅http://jsfiddle.net/EjS7v/6/

Chrome, no 100% width/height这是Chrome(以及所需的结果)

Firefox, width/height to 100% Firefox(宽度/高度为100%)

Firefox, without width/height Firefox(没有宽度/高度)

是否有其他方法可以在运行时使用Javascript计算宽度和高度?

请注意,在此示例中,我使用固定大小的div作为容器,但最有趣和最有用的情况是容器是弹性的。

2 个答案:

答案 0 :(得分:6)

实际上有一个简单的替代方案,使用表示性标记来包含该textarea,然后使用textarea本身的100%宽度高度。

确实,CSS非常有限。

答案 1 :(得分:4)

这是因为textareadiv不同,有一个default width and height

  

如果元素具有cols属性,并且使用解析非负整数的规则解析该属性的值不会产生错误,那么用户代理应该使用该属性作为表示提示对于元素的width属性,其值为textarea有效宽度(如下定义)。否则,用户代理应该表现得好像它有一个用户代理级样式表规则,将元素的width属性设置为textarea有效宽度。

     

textarea元素的 textarea有效宽度 size × avg + sbw ,其中 size 是元素的字符宽度, avg 是元素主要字体的平均字符宽度,以CSS像素为单位, sbw 是滚动条的宽度,以CSS像素为单位。 (元素的字母间距属性不会影响结果。)

     

如果元素具有rows属性,并且使用解析非负整数的规则解析该属性的值不会产生错误,那么用户代理应该使用该属性作为表示提示对于元素的height属性,值为textarea有效高度(如下定义)。否则,用户代理应该表现得好像它有一个用户代理级样式表规则,将元素的height属性设置为textarea有效高度。

     

textarea元素的 textarea有效高度是CSS元素中指定元素字符高度的行数的高度,加上CSS像素中滚动条的高度。 / p>