Jus*_*ant 15 css mediawiki textarea internet-explorer-8
IE8有一个已知的错误(每个connect.microsoft.com),在TEXTAREA元素中键入或粘贴文本将导致textarea自行滚动.这非常烦人,并且出现在许多社区网站中,包括维基百科.责备是这样的:
预期:没有任何反应实际:滚动单独发生,插入点最终靠近textarea的底部!
下面是摄制HTML(也可以在这里看到这个活的网站:http://en.wikipedia.org/w/index.php?title=Text_box&action=edit)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" ><body>
<div style="width: 80%">
<textarea rows="20" cols="80" style="width:100%;" ></textarea>
</div>
</body></html>
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过强制网站进入IE7兼容模式来避免这种情况,但是什么是解决这个bug的最佳方法,同时尽可能减少副作用?
Jus*_*ant 17
我最后浪费了很多时间试图找出答案,所以我想我会挽救其他人回答的麻烦.诀窍是在TEXTAREA元素上为COLS属性使用非常大的值.像这样
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<div style="width: 80%">
<textarea rows="20" cols="5000" style="width:100%;" ></textarea>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我还看到一个解决方法在线使用非比例width再百分比max-width和min-width,但比其他解决方法上面(的礼貌影响力更罗斯),这似乎在所有浏览器IE6,包括工作.
更多细节:经过一个小时的调查,这个问题似乎是由IE8处理textarea元素上"COLS"属性和"width"样式之间的冲突引起的.如果宽度CSS宽于默认宽度(字体宽度x cols),则在添加文本并滚动文本区域时,IE8会感到困惑.相反,如果宽度CSS小于从cols属性派生的默认宽度,那么一切正常.
cols和width之间的微妙依赖性可能是使问题如此复杂的原因,因为相同的页面会根据cols与width的比例而中断或不中断.问题中的HTML实际上是在一个大型浏览器窗口上责备错误,并且不会在一个小窗口上重现错误!
| 归档时间: |
|
| 查看次数: |
5550 次 |
| 最近记录: |