1

我正在使用 Tapestry 为 Web 应用程序创建页面,并且一直在使用调色板组件向组添加/删除项目。

该页面在 Firefox 中看起来很棒(Tapestry 似乎偏向于 Firefox),但我的客户都将使用 Internet Explorer(从 6、7 和 8 开始的任何版本),而在 IE8 中,禁用的箭头按钮看起来很糟糕。在 Firefox 中,它们是褪色的,使用 25% 的不透明度设置,但这在 IE8 中不起作用,相反,您会得到一个褪色的图像,图像周围有一个难看的黑色边框。

在tapestry-core 的样式表(default.css)中,您有以下禁用箭头按钮。

DIV.t-palette-controls BUTTON[disabled] IMG {
    filter: alpha(opacity = 25);
    -moz-opacity: .25;
}

这些显然已经过时了,因为 Firefox 不再支持 -moz-opacity (使用 opacity: 25 代替)。问题在于过滤器:“alpha(opacity = 25);”。如果我删除它,箭头在 IE8 中看起来不错,但它们不会褪色。

我得到了魔法指令:

-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=25)";

来自各种网站,但是将其放入也不起作用-箭头图标又丑陋了。

图标本身(与 Tapestry 一起分发)似乎只是一个普通的 PNG,但我不是图像格式方面的专家,所以那里可能有问题?

还有其他人有这个问题吗?

4

1 回答 1

0

我不完全确定,但可能是 -ms-filter 需要以正确的顺序排列并且还设置了其他属性(如 hasLayout hack):

尝试这个:

DIV.t-palette-controls BUTTON[disabled] IMG {
    opacity:0.25; /* firefox, opera, safari, chrome */
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=25)"; /* IE 8 */
    filter:alpha(opacity=25); /* IE 4, 5, 6 and 7 */
    zoom:1 /* so the element "hasLayout"
    /* or, to trigger "hasLayout" set a width or height */
}

来源和解释

于 2012-03-28T09:50:32.583 回答