我因为试图让color:transparent在IE8中生效而感到头痛。
基本上,我有这些按钮,它们可以是锚点或输入元素:
<input type="submit" class="button" value="Click me" />
<a class="button" href="SOME_URL">Click me</a>
当这些按钮被点击时,它们会被赋予
loading
类,给它们一个旋转的gif图像作为背景图像,并设置color:transparent
以使文本不可见,显示旋转器。这使得按钮在被单击时保持相同的大小,同时显示旋转器gif。然而,IE8不支持color:transparent,我很难想出另一种替代方案。
使用
font-size:0
,line-height:0
,text-indent:-9999
或类似的方式在这种情况下无法满足要求,因为这将使保持按钮大小变得不可能。如果可能的话,我希望用CSS解决这个问题,所以请不要浪费时间提供JavaScript解决方案。
也许可以为“color”设置滤镜,就像下面的渐变和“opacity”一样,但我还没有找到方法。
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#000000', EndColorStr='#ffffff');
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
任何意见都受到欢迎!
line-height
或text-indent
对你不起作用?你没有在CSS中指定按钮的大小吗? - disinforline-height
等属性对你不起作用。我不确定你是否可以使用纯 CSS 解决方案。根据你在原始问题中提供的筛选器,你可以添加00
来获取透明度。只是我不确定你能否针对按钮文本进行操作。filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#00000000', EndColorStr='#00ffffff');
另外,你避免使用 JS 的原因是什么?只是好奇。 - disinforvalue
。它会保持原始的height
和width
,因此无论语言如何,按钮都保持相同的大小。http://jsfiddle.net/9vEQT/2/祝好运!! - disinfor