`
cuixiping
  • 浏览: 19913 次
  • 性别: Icon_minigender_1
  • 来自: 地球
社区版块
存档分类
最新评论

疑难杂症:firefox浏览器<textarea rows=1>令人费解的滚动条

阅读更多
话说天下大事,浏览器诸侯混战,我等开发者追遭殃!

我的火狐版本是 Firefox 3.6.2

开发中碰到这么个事:
产品中要求这么样个输入框,当内容为空或只有1行时,显示看起来是1行的文本框,当内容超过1行的时候,显示为2行的textarea,输入内容超过2行以上,则出现滚动条。

起初,我想,只要设置textarea的rows分别为1或者2就行了,结果事情并非这么简单。
在非Firefox下,(包括IE各版本、Opera、Chrome),都能正常显示rows=1的textarea,右侧能出滚动条,不管内容多少。非火狐浏览器与我的预期一致。
但没料到火狐会这么麻烦。

常言道:外事不决问狗狗,内事不决用百毒。
狗狗了一下,发现很多人为此所扰。

火狐下的textarea主要有这么两个方面的问题:
1、实际显示高度比rows属性值多1行,火狐是为横向滚动条预留的位置,可是没出现横向滚动条的时候,它也占着这么个位置。
2、当rows=1的时候,基本就不会出现滚动条了,不管内容多少行。即使你强行style="overflow:scroll"也没有滚动条。

做的过程中,我还发现,rows=1的时候,textarea滚动条能否出来,还跟textarea的字体大小有关,字体小了也出不来。在我的机子上,font-size如果大于等于15px则能出滚动条,小于等于14px则无论如何出不来滚动条。

上个图给大家看:



代码很简单,是这样的:
<!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">
<head>
<title>New</title>
<meta http-equiv="content-type" content="text/html; charset=gbk" />
<style type="text/css">
textarea {width: 200px; border: 1px solid #CCCCFF;}
</style>
</head>

<body>

<textarea style="font-size: 16px;" rows="1">AAAA
BBBB
CCCCCCCCCCCCC</textarea>font-size: 16px;
<br />
<textarea style="font-size: 15px;" rows="1">AAAA
BBBB
CCCCCCCCCCCCC</textarea>font-size: 15px;
<br />
<textarea style="font-size: 14px;" rows="1">AAAA
BBBB
CCCCCCCCCCCCC</textarea>font-size: 14px;
<br />
<textarea style="font-size: 13px;" rows="1">AAAA
BBBB
CCCCCCCCCCCCC</textarea>font-size: 13px;
<br />
<textarea rows="1">AAAA
BBBB
CCCCCCCCCCCCC</textarea>font-size不指定

</body>
</html>



然后试验发现,不管是textarea,还是div(设置了overflow-y:scroll) ,只要它的高度不够显示滚动条的上下两块箭头按钮,那么滚动条就不会出现。也就是说,火狐的滚动条的上下箭头按钮不能像其他浏览器那样缩小高度。火狐偷了个懒,没去伸缩那两个按钮,而是直接把滚动条藏了。
分享到:
评论
1 楼 aamxy123 2010-09-29  
今天也发现了这个问题,http://www.w3help.org/zh-cn/causes/HF1007
还是用CSS好

相关推荐

    Programming Windows程式开发设计指南

    &lt;br&gt; &lt;br&gt;内容简介:&lt;br&gt;&lt;br&gt;「到Petzold的书中找找」仍然是解决Windows程式开发各种疑难杂症时的灵丹妙药。在第五版的《Windows程式开发设计指南》中,作者身违背受敬重的Windows Pioneer Award(Windows开路先锋...

    疑难杂症处理,修复工具包

    疑难杂症处理,修复工具包 PcMedik 汉化版 ========================= 此工具可修复您的电脑设定,通过对软硬件故障的派查,可有效地修正因上述问题对性能造成的负面影响,从而实现加速的目的。 日志部分已汉化,...

    MongoDB疑难杂症分析及优化

    MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化...

    系统疑难杂症处理文件,解决系统各种问题

    1. **系统故障诊断**:系统疑难杂症处理的第一步通常是进行诊断,这包括识别出问题的来源,可能是硬件组件,如内存条、硬盘、显卡等,也可能是软件层面的问题,如驱动不兼容、应用程序错误、病毒感染等。诊断工具...

    各类电脑疑难杂症处理

    "各类电脑疑难杂症处理"这个主题旨在提供一个全面的解决方案集,帮助用户解决他们在日常使用电脑时遇到的困扰。下面,我们将深入探讨一些常见的电脑问题以及相应的处理方法。 1. **硬件问题**:电脑硬件故障可能是...

    全面了解移动端DNS域名劫持等杂症:原理、根源、HttpDNS解决方案等.docx

    DNS 解析过程中,浏览器首先将域名发送到 Local DNS 服务器,然后 Local DNS 服务器将域名解析为 IP 地址,最后将 IP 地址返回给浏览器。 HttpDNS 是一种解决域名劫持问题的技术方案,它可以从根源上解决域名解析...

    MySQL疑难杂症排查

    关于MySQL数据库疑难杂症排查,审明:本资源归原作者所有。

    以COM对象处理Excel疑难杂症

    处理Excel疑难杂症时,可能会遇到以下几种情况: 1. **错误处理**:在使用COM对象时,可能会遇到文件已被其他进程占用、路径错误等问题。我们需要捕获并处理这些异常,确保程序的稳定运行。 2. **性能优化**:大量...

    Java 疑难杂症_笔记.zip

    Java作为世界上最流行的编程语言之一,其复杂性和深度使得开发者在实际开发过程中经常会遇到各种疑难杂症。这份"Java 疑难杂症_笔记.zip"压缩包中的笔记,显然是为了解决这些问题而编写的,旨在帮助Java开发者提高...

    疑难杂症的克星 常用25条Excel技巧.docx

    以下是一些常用且实用的技巧,可以帮助你更高效地使用Excel解决疑难杂症。 1. **查找相同值对应的位置**: 使用`=MATCH(B1,A:A,0)`公式可以找出B1单元格的值在A列中的位置。0作为第三个参数表示精确匹配。 2. **...

    17个Docker常见疑难杂症解决方案汇总.docx

    17个Docker常见疑难杂症解决方案汇总.docx

    MySQL数据库疑难杂症排查.pptx

    MySQL数据库疑难杂症排查 MySQL 数据库是一种关系型数据库管理系统,广泛应用于各种 Web 应用程序中。但是,在实际应用中,我们经常会遇到各种问题,例如数据库打开速度慢、查询效率低、服务器负载高等问题。因此...

    mysql疑难杂症

    ### MySQL疑难杂症排查知识点详解 #### 一、前言 在数据库运维过程中,经常会遇到各种MySQL相关的性能问题。这些问题可能会导致系统响应时间延长、用户体验下降等问题。因此,掌握有效的MySQL性能诊断方法对于DBA...

    一网打尽sap各类用户疑难杂症

    首先,文档标题《一网打尽sap各类用户疑难杂症》暗示了文档的主旨,是为了解决在使用SAP系统时可能遇到的各类问题。SAP是全球领先的企业资源规划(ERP)软件供应商,其产品被广泛应用于企业资源管理、客户关系管理、...

    Firefox火狐浏览器官方70.0.1-mac版本pkg安装包

    《Firefox火狐浏览器官方70.0.1-mac版本pkg安装包详解》 Firefox火狐浏览器是一款全球知名的开源网络浏览器,以其强大的功能、高度的定制性和安全性深受用户喜爱。在Mac平台上,Firefox提供了专为OS X(现称为macOS...

    菜鸟必读之电脑疑难杂症在线解答集锦

    【电脑疑难杂症在线解答集锦】是一篇针对初级电脑用户的文章,主要涵盖了电脑使用过程中常见的问题和解决方案。这些问题包括: 1. **软盘引发启动错误**:当电脑开机时出现"Non-System disk or disk error replace ...

    电脑疑难杂症处理工具

    在电脑使用过程中,有时会遇到各种“疑难杂症”,如病毒感染、系统文件损坏、注册表出错等,这些问题可能导致电脑运行不正常或者功能受限。针对这种情况,开发了一款名为“电脑疑难杂症处理工具”的软件,它是一款...

Global site tag (gtag.js) - Google Analytics