Html IE 9/10中表格单元格元素的边框和框阴影问题

Html IE 9/10中表格单元格元素的边框和框阴影问题,html,internet-explorer-9,internet-explorer-10,css,Html,Internet Explorer 9,Internet Explorer 10,Css,我使用CSSdisplay:table cell来显示一组相邻的LI元素。这些样式丰富,具有如下预期外观: 但是,在IE 9和IE 10中,其呈现方式如下: 我不知道这里出了什么问题,但当我实验性地将LI-元素设置为display:block时,元素突然变得很好 以下是CSS: display: table-cell; height: 27px; line-height: 26px; text-align: cent

我使用CSS
display:table cell
来显示一组相邻的LI元素。这些样式丰富,具有如下预期外观:

但是,在IE 9和IE 10中,其呈现方式如下:

我不知道这里出了什么问题,但当我实验性地将LI-元素设置为
display:block
时,元素突然变得很好

以下是CSS:

display:            table-cell;
height:             27px;
line-height:        26px;
text-align:         center;
box-shadow:         inset 1px 1px 0px 0px #ffffff;
-moz-box-shadow:    inset 1px 1px 0px 0px #ffffff;
-webkit-box-shadow: inset 1px 1px 0px 0px #ffffff;
-ms-box-shadow: inset 1px 1px 0px 0px #ffffff;
-o-box-shadow: inset 1px 1px 0px 0px #ffffff;
background: #ededed; /* Old browsers */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSI1JSIgc3RvcC1jb2xvcj0iI2VkZWRlZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkZmRmZGYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top, #ededed 5%, #dfdfdf 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(5%,#ededed), color-stop(100%,#dfdfdf)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #ededed 5%,#dfdfdf 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #ededed 5%,#dfdfdf 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #ededed 5%,#dfdfdf 100%); /* IE10+ */
background: linear-gradient(to bottom, #ededed 5%,#dfdfdf 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ededed', endColorstr='#dfdfdf',GradientType=0 ); /* IE6-8 */
border:             1px solid #b7b7b7;
border-right:       0;
text-decoration:    none;
cursor:             pointer;
最后,我发现了一些关于一个看似相似的问题的文章,其解决方案是使用:

边界塌陷:分离

在元素上。但是,如果我这样做,我会在IE中得到以下结果:

很明显,上边框被渲染了。但没有任何其他风格,因为它似乎


这里有什么问题,如何解决?

经过进一步测试,我终于找到了问题的根源:

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ededed', endColorstr='#dfdfdf',GradientType=0 ); /* IE6-8 */
去掉这个后,我马上开始把一切都处理好。如果有人知道为什么过滤器的应用会导致这样的问题,请分享你的智慧。谢谢大家!