如何在 IE 7 中禁用样式但允许其他样式

How disable style in IE 7 but allow in others

我有风格

.sm:hover{border-bottom: 3px solid; 
border-color: #cc181e;
padding-bottom: 0;
display: inline-block;}

这在现代浏览器中看起来不错,但在 ie 7 中却不行(闪烁)

我正在尝试覆盖 IE7 中的样式。

<!--[if lt IE 9]>
   <link rel="stylesheet" type="text/css" href="css/ie7Style.css" />
 <![endif]-->

使用这种风格

.sm:hover{border-bottom: 0px; padding-bottom: 0; display: inline-block;}

但它还在闪烁。 如何禁用此闪烁或如何禁用此样式?

请不要因为网站显示在 TWebbrowser 组件中而让我不使用 IE 7。

您正在更改鼠标悬停时的显示 属性。 尝试将 display:inline-block 应用于 .sm class,然后添加悬停样式。

.sm {
  display: inline-block;
  *display: inline; /* IE7 fix */
  zoom: 1; /* IE7 fix */
}

.sm:hover {
  border-bottom: 3px solid; 
  border-color: #cc181e;
  padding-bottom: 0;
}

您还可以使用媒体查询 hack 定位 IE7 及更低版本:

@media screen { /* styles for IE6 and IE7 only */ }