Html 背景图像css在IE11中不起作用

Html 背景图像css在IE11中不起作用,html,css,wordpress,Html,Css,Wordpress,我有一个WordPress网站,我们正在用背景图片替换菜单链接。下面是其中一个菜单项的css示例 #menu-item-3039{ width:30px; height:20px; border:none; padding-right:0; } #menu-item-3039 a{ visibility:hidden; } #menu-item-3039 a::before{ visibility:visible; di

我有一个WordPress网站,我们正在用背景图片替换菜单链接。下面是其中一个菜单项的css示例

  #menu-item-3039{
    width:30px;
    height:20px;
    border:none;
    padding-right:0;
  }
  #menu-item-3039 a{
    visibility:hidden;
  }
  #menu-item-3039 a::before{
    visibility:visible;
    display:block;
    width:20px;
    height:20px;
    content:"";
    background-size:20px 20px;
  }
  #menu-item-3039 a::before {
    background-image:url("/wp-content/uploads/2015/05/moodle-icon.png");
  }
使用IE11时是否存在一些非常明显的错误或遗漏

它在chrome和firefox中非常有效,但在IE11中根本不起作用。我对IE跨浏览器支持不是很有经验,所以可能任何东西都会有所帮助


谢谢

IE11将
可见性
从a继承到他们的
::before

我建议您不要使用该规则,并使用:

overflow: hidden;
text-indent: -1000px;
height: 20px;
display: block;

相反。通过这种方式,您可以隐藏文本(我认为这是您真正想要做的),而不会影响背景。

哪一版本的ie?IE11。抱歉,我将更正此帖子。它是否输出错误?你的文件夹是否正确(应该是,因为你说它在chrome和firefox中),也可以尝试清除缓存。目前,我看不到任何表明这段代码出错的内容。是否有示例链接?可能是a的可见性影响了::before。你能提供小提琴、钢笔或样品吗?我没有看到任何错误,但我也不完全确定如何使用IE。也许我找错地方了。请帮我看一下好吗?如果我这样做了,这些菜单项的原始内容会再次出现,剩下的图标和标题会显示在标题中。