我已经在IE 11中搜索了与边界半径有关的类似问题,但是only one found on the Microsoft IE Developer site描述了自“升级”到IE 11以来我目前也正在经历的事情。该线程中该帖子的答案是确保DOCTYPE为HTML5,并且不是怪癖。

我目前正在网站上完成重新设计,是的,它是HTML5,并且具有正确的DOCTYPE,但是边框半径仍然存在一个怪异的问题。应用边框半径的几乎每个元素都有一个1px的偏移量。如果取消选中边界半径,问题将消失并且一切都很好,但是令人震惊的是,这并不是IE 9或IE 10中的问题。仅从几天前的IE 11开始,此问题就浮出水面了。我已经在带有IE 11的Windows 7和带有IE 11的Windows 8.1上进行了测试,并且两者都存在问题。

范例1:

我在这里有一个border-radius: 5px 0 0 5px,然后应用单独的伪元素:before和:after以获取尖的三角形,但是border-radius似乎正在创建一条1px的白线,因此不再与元素的其余部分齐平。即使在IE 8中,它也能正常工作,但现在在IE 11中已失效。如果删除边框半径,则伪元素三角形将再次与元素齐平。

范例2:

显示为inline-block的<a>链接按钮具有用于背景的线性渐变,蓝色的1px实线边框和border-radius: 4px。但是border-radius在蓝色1px边框内创建了另一个1px白线。不管其他任何边界半径值,除非边界半径为0,否则白线都会保留。

范例3:

相对于其下方另一个<a>定位的display: inline-block内的<div>的三个<div>链接元素。底部<div>具有border-radius: 4px,顶部<a>内部的<div>元素在左上方和右上方具有边框半径(如图所示)。 IE 11在两个<div>元素之间显示1px的间距(如上面链接的其他海报线程所示)。但是,如果底部<div>上的border-radius设置为0,则间隙消失。

同样,在IE 9和IE 10中,这些实例都不是问题。仅因为IE 11具有出现边框半径的元素的“1px间隙”。我不知道该如何解决。当然,不会影响其他浏览器。 Firefox,Safari,Opera和Chrome都可以正常显示。

任何帮助将不胜感激。

最佳答案

据我所知,IE11中的border-radius有一个错误。您描述的问题可能是全局的一部分。 More info

关于internet-explorer - IE 11边界半径怪异(在IE 9和IE 10中未发生),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20051783/

10-16 19:55