css - HiDPI 显示器上 div 之间的 1px 间隙

标签 css retina-display

http://jsfiddle.net/p959zse4/3/

我有一个带有“填充”区域的进度条和一个结束它的图像。在 Chrome 38、win8 和 hiDPI/retina 屏幕上,进度条和覆盖进度条的箭头图像之间有 1px 的间隙。这取决于杆的位置,有时没有间隙。有什么标准的方法可以消除这个差距吗?

此外,我正在使用 css 过渡属性来设置宽度变化的动画,并且在过渡期间间隙似乎会闪烁。

<div class="progress">
    <div class="fill" style="width: 10%"></div><div class="arrow"></div>
</div>

.progress {
    width: 100%;
    background-color: lightgray;
    height: 20px;
}

.fill {
    display: inline-block;
    height: 20px;

    transition: width 1s;
    background: linear-gradient(to right, #d0d9d8 0%, rgb(237, 28, 36) 100%)
}

.arrow {
    display: inline-block;
    width: 10px;
    height: 20px;
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAUCAIAAADUTlA/AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAAaSURBVChTY3gro4IfjapARaMqUBE9VMioAABP/AK8RcGPowAAAABJRU5ErkJggg==")
}

最佳答案

我同事的理论是,问题是我使用的百分比宽度最终是像素的一小部分,如果我们能以某种方式将宽度向上/向下舍入到精确的像素,则不会出现间隙。

无论如何,我的解决方案最终是在图像的左边缘添加一行额外的像素,并添加 margin-left: -1px;到箭头图像,以便它在出现时覆盖间隙。

关于css - HiDPI 显示器上 div 之间的 1px 间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26386621/

相关文章:

macos - 如何告诉 Apple 我的 Cocoa 应用程序尚未准备好支持高分辨率?

css - 骨架主题上的投资组合页面在 Chrome 中滚动缓慢或抖动

html - 如何正确居中对齐 Div?

html - 渐变背景上不透明边框的交换颜色

iOS webview 缩放以匹配视网膜显示

ios - 为什么 [[UIScale mainScreen] scale] 1 在带有 Xcode 4.2 的 iPad 3 上?

ios - 缩小 Xcode 模拟器(Retina 4 英寸)

html - 布局以填充除 Extjs 中的导航栏之外的所有浏览器窗口

html - 段落两侧的对 Angular 虚线图案

ios - iPhone 6/6s 和 5/5s 的图像分辨率