css - IE9 : issue in a link when use filter

标签 css filter hyperlink internet-explorer-9 gradient

我的问题:我有一个与显示 block 的链接。在 IE9 上一切顺利。但是当我添加一个过滤器以获得渐变时,光标只在边框和文本上有手,而没有在框的其余部分。

我已经在 jsfiddle 中测试了我的代码

我可能做错了什么吗? 我的代码适用于所有浏览器和版本。为了清楚起见,我只是删除了其他浏览器的代码。

最佳答案

filter 对 IE8 “更好”。 但是对于 IE9,我会 raccomend SVG 渐变。

在这里可以找到微软官方SVG gradient background maker

你会得到这样的东西:

/* SVG as background image (IE9/Chrome/Safari/Opera) */ 
background-image:url(data:image/svg+xml;base64,PHN2ZyBetcetcetc);

您可以通过这种方式将其添加到您的规则中:

a {
    padding: 3px 5px;
    margin:5px;
    display:block;
    border:1px solid #000;
    background:#FAFAFA; /* fallback for browsers not supporting gradients */
    background-image:url(data:image/svg+xml;base64,PHN2ZyBetcetcetc); /* FF13, Opera12, IE9 */
    background:linear-gradient(#FAFAFA, #EAEAEA) repeat scroll 0 0 transparent; /* W3C */
}

然后,使用 conditional comments您可以再次针对 IE8:

.ie8 a {
    filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#FAFAFA',EndColorStr='#EAEAEA'));
}

无论如何,我建议您在 google 上搜索“Visual CSS 工具”以获得完整的跨浏览器代码。

关于css - IE9 : issue in a link when use filter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12406667/

相关文章:

css - 如何从文本中删除 CSS 过滤器样式?

PHP时间过滤和MYSQL过滤

jQuery UI 对话框调整大小关闭按钮

php - preg_replace 密码过滤器

javascript - 显示表格或 html SweetAlert 2.0

css - CSS 中的链接没有装饰

c++ - 尽管名称存在,静态链接失败

javascript - 每 5 次访问后更改链接 URL

css - 打印 CSS 背景图片

javascript - 移动浏览器上更大的复选框