处于非 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 里面就没这个问题,怎么解决呢?谢谢!
...全文
316 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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固定,所以就会自己变宽

61,125

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧