`

IE6,IE7中 按钮的宽度随着内容的增多而增长

阅读更多
转自:http://www.planabc.net/2008/11/12/the_stretched_buttons_bug/



大家在写按钮(input、button)的时候会发现在 IE 下:

随着字数的增多,两边的间距也会越来越大。
在 WIN 的XP 风格下,当字数很多时,两边还会出现严重的锯齿。
到底是什么原因呢?

蓝色理想 原 WEB标准化专栏 的斑竹 zbm2001z 给出了一个答案:

1、IE 在按钮的 value 值每增加 4 个字节(汉字为 2 个)时,就会在按钮的两边产生总共一个字节的内边距宽度。

2、IE 的按钮(XP 风格)默认样式是一个固定尺寸的圆角矩形图片作背景,所以一旦按钮变宽变高后,这个固定尺寸的圆角矩形图片的边缘自然就会出现“拉毛”的现象了。

对于第二个问题我们暂时没办法去解决,除非 WIN 系统自己修复 BUG ,但对于第一个问题 ,我们还是可以修复的。

IE 下给按钮元素设置 overflow 属性的 visible 值(注 :padding 值仅在设置了overflow:visible 属性后才有效),这个属性其实在上次写的《background-clip 与 background-origin 的一则运用》一文中已经使用。不过在今天阅读了《The stretched buttons problem in IE》后,发现原来还有一个小 BUG —— 如果将按钮置于表格单元格中,虽然按钮显示正确了,但是原先预留的宽度大小却没有改变,仍然占据着空间,需要在 IE6 中设置按钮的宽度(width)为 0(IE7同样也存在此 BUG,但暂时没有寻找到好的方式解决)。

最终的修复代码如下(Demo):

input.button {

    padding: 0 .25em;

    width: auto;

    _width: 0;

    overflow:visible !ie;
分享到:
评论

相关推荐

    IE6、IE7、IE8对css和js支持方面差异的研究

    - IE8中的`event.x`返回的是最外层窗口的x坐标,`event.y`返回的是Iframe内的y坐标,而在IE6和IE7中,两者都是相对于Iframe的坐标。 8. **Function对象的行为**: - IE8在创建Function对象时,如果第二个参数是一...

    IE6、IE7、IE8、Firefox兼容性CSS HACK代码+示例

    此例中,IE6仅识别最后一行,IE7则同时识别`*`和`!important`,而Firefox只识别`!important`但忽略`*`。 ### 5. 区别IE7、Firefox 针对IE7与Firefox的样式差异,可以使用`*`和`!important`: ```css #divcss5 { ...

    ie6 ie7 ff浏览器兼容

    该标题明确指出了文章关注的核心问题——即确保网页能在IE6、IE7及Firefox等浏览器中正确显示。这意味着开发者需要采取一定的措施来适配这些浏览器,确保无论用户使用何种浏览器,都能获得一致的视觉体验。 #### ...

    IE6 for WIN7(win7下测试ie6兼容神器,64&32可用)

    标题中的“IE6 for WIN7”指的是在Windows 7操作系统上运行Internet Explorer 6(简称IE6)的解决方案。在Windows 7系统默认情况下,无法直接安装和使用IE6,因为该浏览器版本较老,微软已经停止支持,并推荐使用...

    [删除] IE6,IE7,IE8,IE9(绿色单文件版本,分2个压缩包)1

    IE6,IE7,IE8,IE9绿色版(单个exe文件,不与系统中浏览器冲突) 现在大多数系统都已经用IE了,对于开发人员需要测试与IE的兼容性找一款IE的操作系统比较困难. 网上找到的都说用IETester,但我实际测了并不能百分百还原IE...

    ie6与ie7 8区别

    ### IE6、IE7与IE8的区别 #### 浏览器兼容性问题解析 随着Web技术的不断发展,浏览器之间的差异也日益明显。特别是在早期的浏览器版本中,如Internet Explorer(简称IE)的不同版本之间,存在着显著的差异。本文将...

    一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10

    使IE5,IE6兼容到IE7模式(推荐) <!–[if lt IE 7]> ”http://ie7-js.googlecode.com/svn/version/2.0(beta)/IE7.js” type=”text/javascript”></script> <![endif]–> 使IE5,IE6,IE7兼容到IE8模式 <!–[if lt ...

    IE6绿色版(可与IE7、IE8共存)

    如果你自己是做网页设计的,当然也希望只在自己的电脑上就能看清楚页面在IE6、IE7、IE8、FireFox等浏览器下的效果啦~~可是,微软偏偏要我们割爱,安装了IE7后,IE6也在我们的电脑中消失了。而对很多像我这样的人来...

    ie7恢复IE6完美卸载IE7

    本文将详细探讨“ie7恢复IE6完美卸载IE7”的过程,以及为何要避免手动卸载可能导致浏览器崩溃的风险。 首先,我们要理解为什么用户会选择卸载IE7并恢复到IE6。IE6虽然已经很老旧,但在某些特定环境下,例如企业内部...

    解决各种IE兼容问题_IE6_IE7_IE8_IE9_IE10

    由于不同版本的Internet Explorer(IE6、IE7、IE8、IE9、IE10)对Web标准的支持程度不一,这导致在这些浏览器中运行同一段代码可能会出现差异。幸运的是,有一些技术手段可以帮助我们解决这些问题。 首先,一个关键...

    ieTest ie6 ie7 ie8 ie9 ie5.5

    例如,IE6对CSS2的支持有限,而IE7引入了对CSS2.1的部分支持,IE8则开始支持部分CSS3特性。 4. **JavaScript实现**:每个IE版本的JavaScript引擎也有所不同,如JScript在IE5.5至IE9的版本中有多个版本。这可能导致...

    针对firefox ie6 ie7 ie8的css样式hack

    在进行Web开发的过程中,我们经常会遇到浏览器兼容性问题,尤其是早期的Internet Explorer(IE)版本如IE6、IE7和IE8与现代浏览器如Firefox之间的差异。为了确保网站能够在不同浏览器下正常显示,开发者需要使用特定...

    IE6, IE7, IE8 CSS 兼容速查表

    这份“IE6, IE7, IE8 CSS 兼容速查表”就是为了解决这一问题而编写的,它提供了关于这些浏览器中CSS特性的详尽对比和解决方案。 1. **CSS盒模型差异**:IE6、7采用了独特的盒模型,其中`width`属性包含了边框和内...

    多浏览器下IE6 IE7 firefox li 间距问题

    ### 解决多浏览器下IE6、IE7及Firefox中`<li>`元素间距兼容性问题 #### 背景介绍 在Web开发过程中,我们经常会遇到不同浏览器对CSS样式的解析差异导致页面显示效果不一致的情况。特别是对于早期版本的Internet ...

    IE6.0sp1-KB823353-x86-CHS.rar_IE6.0S_IE6.0升级包_IE6.X_ie6 X86_ie6.

    标签中的“ie6.0s”可能是指IE6的某个特定版本或服务包,“ie6.0升级包”明确了这是一个针对IE6的升级程序,“ie6.x”可能是指包括IE6所有版本的统称,“ie6_x86”强调了这适用于32位系统,“ie6.0sp1”则直接对应了...

    好看的CSS按钮(兼容IE6)

    "好看的CSS按钮(兼容IE6)"这个主题聚焦于创建既美观又能在老旧浏览器,如Internet Explorer 6(简称IE6),中正常显示的CSS按钮。IE6尽管已经过时,但在某些环境下可能仍需支持。下面我们将深入探讨如何利用CSS实现...

    集合了IE6、IE7、IE8、IE9核心,可以单独测试不同IE版本

    标题中的“集合了IE6、IE7、IE8、IE9核心”指的是一个软件或工具,它包含了微软Internet Explorer浏览器从版本6到9的各种渲染引擎。这些不同的版本代表了浏览器在不同时间的技术状态,每一代都有其独特的特性和兼容...

    CSS样式兼容IE6、IE7、IE8、FF火狐浏览器的方法

    例如,为了使一个元素在IE6中宽度为620px,在IE7及火狐浏览器中宽度为600px,可以这样写: ```css #right { width: 600px !important; /* IE7+ and FF */ width: 620px; /* IE6 only */ } ``` ### 3. 解决方案与...

    IE6 绿色 兼容win764位

    标题中的“IE6 绿色 兼容win764位”指的是Internet Explorer 6(简称IE6)的一个特别版本,它被优化以在Windows 7 64位操作系统上正常运行,而且是绿色版,意味着它不需要安装,可以直接运行,不写入系统注册表,...

    DIV+CSS相对IE6、IE7和IE8的兼容问题

    标题和描述均提到了“DIV+CSS相对IE6、IE7和IE8的兼容问题”,这揭示了在Web开发中,尤其是针对老旧浏览器如IE6、IE7和IE8进行CSS布局时,开发者可能遇到的一系列挑战。这些浏览器在解析CSS规则时存在独特的行为,...

Global site tag (gtag.js) - Google Analytics