在 Internet Explorer 11 上,我遇到了导致元素溢出的子像素渲染问题。
如您所见,在 IE11 上,仪表的红色部分似乎从底部“窥视”,而在其他 2 个主要浏览器 Chrome 和 FireFox 上似乎很好。
如果我们放大 IE 中的问题,我们可以看到发生了什么:
它似乎在遮罩上渲染一个子像素。
标题“温度”呈现为高度为 34.5 像素的元素,导致其下方的所有元素向下移动 0.5 像素,从而导致此问题。
这就是仪表的构建方式:JSFiddle
<div id="temperature-gauge" class="gauge-control" data-percentage="0">
<div class="header">Temperature</div>
<div class="gauge-elements">
<div class="gauge">
<div class="inner"></div>
<div class="spinner temp"></div>
</div>
<div class="pointer"></div>
<div class="pointer-knob"></div>
</div>
<div class="indicator">60° C</div>
</div>
有没有办法解决这个问题,除了给标题一个静态高度,以确保下面的所有元素都在一个全像素上?