处于非 100% 宽的 div 里面的 100% 宽表单输入的时候自动变宽怎么办?

2ndboy 2006-11-27 08:56:21
比如如下代码:

<div style="margin-right:200px">
<textarea style="width:100%"></textarea>
</div>

在 IE 里面,在 textarea 里一输入东西 textarea 的宽度就会自己变宽,<input type="text"/> 也一样。FireFox 里面就没这个问题,怎么解决呢?谢谢!
...全文
259 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
2ndboy 2006-11-29
谢谢 zeroleonhart!按你说的方法可以解决:

<div id="aa" style="margin-right:200px">
<textarea id="bb"></textarea>
</div>

<script type="text/javascript">
var aa = document.getElementById( 'aa' );
var bb = document.getElementById( 'bb' );
bb.style.width = ( aa.offsetWidth - 2 ) + "px";
</script>

不过也不是完美的解决方案,因为这么设置以后浏览器窗口大小改变后网页布局不会跟着变了,就算处理 div 的 onResize 也不行。只能通过脚本解决吗?纯 HTML + CSS 不能避免这个 IE 的 bug?

谢谢 zeroleonhart,明天还没有其它方案的话就结贴。
  • 打赏
  • 举报
回复
ImN1 2006-11-29
div本身没有定义宽度的话子级的width是不起作用的
建议div就应该使用100%或相关定义
  • 打赏
  • 举报
回复
zeroleonhart 2006-11-28
用js来使输入框的绝对宽度和div的宽度一样就可以了
  • 打赏
  • 举报
回复
2ndboy 2006-11-27
to chengxiaofeng:
那个 div 不能固定,再外面的容器也不能固定,因为这是一个两栏布局的一部分,定死宽度的话这个两栏布局就不能自适应浏览器窗口了。

能不能给个不定死宽度的解决方案?
  • 打赏
  • 举报
回复
chengxiaofeng 2006-11-27
<body margin-right:200px>
<div style="margin-right:200px">
<textarea style="width:100%"></textarea>
</div>
</body>
  • 打赏
  • 举报
回复
chengxiaofeng 2006-11-27
因为你外面没有DIV固定,所以就会自己变宽
  • 打赏
  • 举报
回复
相关推荐
发帖
CSS

6.0w+

社区成员

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
帖子事件
创建了帖子
2006-11-27 08:56
社区公告
暂无公告