Internet explorer 7 跨浏览器的CSS行高度问题

Internet explorer 7 跨浏览器的CSS行高度问题,internet-explorer-7,cross-browser,css,Internet Explorer 7,Cross Browser,Css,我有一些CSS线条高度为18px的按钮控件。有些是输入控件type=“button”,有些则被样式化为与输入控件类似的按钮。在FF3.6.12/IE8中,它们显示相同的高度,但在IE7中,锚的高度较短。我如何让它们在IE7中正确显示?老实说,如果IE7是唯一的问题,我只需要进行一次修改,将行高度提高: *+html .button { line-height:24px } 如果您使用类似的工具,您可以消除黑客攻击并使用: .ie7 .button { line-height:24px } 当

我有一些CSS线条高度为18px的按钮控件。有些是输入控件type=“button”,有些则被样式化为与输入控件类似的按钮。在FF3.6.12/IE8中,它们显示相同的高度,但在IE7中,锚的高度较短。我如何让它们在IE7中正确显示?

老实说,如果IE7是唯一的问题,我只需要进行一次修改,将行高度提高:

*+html .button { line-height:24px }
如果您使用类似的工具,您可以消除黑客攻击并使用:

.ie7 .button { line-height:24px }
当然,另一种选择是真正追踪IE7的行为方式,并相应地重写CSS,但如果没有任何发布的代码,我无法帮助您

编辑:忘记了这种只针对IE7的方法:

<!--[if IE7]><style type="text/css">.button{line-height:24px}</style><![endif]-->

IEs中的按钮有额外的填充/边框/任何东西-它们的样式不如其他浏览器中的样式。

我带了您的演示:

并在末尾添加了以下CSS:

对那里发生的事情的一些解释:

  • IE7中有一个已知的bug,
    overflow:visible
    修复了与按钮宽度相关的漏洞。试着看看我在IE7中的演示,有没有
  • 我正在使用提供更改
    高度
    行高度
    ,仅适用于IE7及更低版本。如果需要,你可以调整我选择的数字
  • 那个黑客是无效的CSS,但使用它没有问题。它再也不会回来咬你了——这是一种“安全黑客”。然而,如果您需要100%有效的CSS,还有其他选择
现在IE7和更高版本之间看起来是一致的


是的,这有点麻烦,但至少它在CSS中的一个地方放在一起,有一个清晰的注释。

input[type=“button”]、input[type=“submit”]、.button{背景:无重复滚动0 0#eeeff;边框:1px实心#414649;颜色:002570;光标:指针;字体大小:12px;字体重量:粗体;字母间距:0.05em;边距:0 2px;填充:3px 7px;文本阴影:1px 1px#DCECF6;-moz边框半径:12px 12px 12px 12px 12px;-webkit边框半径:12px12px 12px 12px;线高度:18px;}嗯,没有什么不对劲的地方,但我认为你把我看得有点太字面了。这需要查看该页面上运行的所有CSS,甚至可能是用于构建按钮的HTML,即使这样,也可能没有解决方案。如果只是为了IE7而增加行高,那么就这样做。没有问题我不值得花时间或麻烦尝试将您的代码与IE7的buggy渲染引擎对齐。我尝试将该属性的值提高到24,但这并不能解决问题。有趣的是,在Firebug中查看这些控件时,在FF中查看这些控件的CSS是相同的。buggy渲染引擎—正是我们需要的,另一个e!我会看看你是否能提供一个准确再现你的问题的测试用例。JSFIDLE-对于HTML窗口:CSS窗口:。页脚{padding:5px;margin:0px;border top:1px solid#557AB5;font style:italic;}。页脚输入[type=button],.Footer输入[type=submit],.Footer.button{float:right;font-style:normal;行高:16px;填充:3px 7px;}输入[type=“button”],输入[type=“submit”],.button{背景:无重复滚动0 0#eeeff;边框:1px实心#414649;颜色:002570;光标:指针;字体大小:12px;字体重量:粗体;字母间距:0.05em;边距:0 2px;填充:3px 7px;文本阴影:1px 1px#DCECF6;-moz边框半径:12px 12px 12px 12px 12px;-webkit边框半径:12px12px 12px 12px;行高:16px;}输入[type=“button”]:悬停,输入[type=“submit”]:悬停,.按钮:悬停{边框:2px实心#414649;填充:2px 6px;文本阴影:1px 1px 0.0px#DCECF6;}输入[type=“button”]:禁用,输入[type=“submit”]:禁用,.按钮:禁用{背景色:#f4;颜色:#87908E;边框:2px实心#BCC0C2;光标:自动;填充:2px 6px;}即使有CSS理论上应该覆盖IE7的默认样式?理论上,你可以尝试使用按钮或锚定的
填充顶部/底部;线高度
。我为我的按钮类(应用于锚定)设置了未设置的填充,我可以在Firebug中看到,而在FF中,锚和输入都是相同的。但是,它并不能解决IE7中的问题。
/* ie7 fixes */
.Footer input[type=button],
.Footer input[type=submit]
{
    overflow: visible;
    *height: 24px;
    *line-height: 15px
}