gpt4 book ai didi

css - 溢出问题 :hidden in Chrome on a 'retina' display

转载 作者:行者123 更新时间:2023-11-28 10:48:52 25 4
gpt4 key购买 nike

我有一个 CSS 问题,只出现在谷歌浏览器中。设置为 overflow: hidden 的对象在水平居中的容器中时在边缘被“剪裁”,并且仅在奇怪的浏览器宽度,并且只在高分辨率显示器上。

HTML:

<html><body>
<div id="container">
<div class="sprite"> </div>
</div>
</body></html>

CSS:

#container
{
margin: 0 auto;
max-width: 800px;
-webkit-transform: translate3d(0px,0px,0px);
}

.sprite
{
width: 30px;
height: 30px;
overflow: hidden;
position: relative;
}

.sprite:after
{
content: ' ';
overflow: hidden;
display: block;
width: 30px;
height: 30px;
position: absolute;
top: 0;
left: 0;
background-image: url("/img/sprite@2x.png");
background-position: 0 0;
background-repeat: no-repeat;

-webkit-background-size: 30px 30px;
-moz-background-size: 30px 30px;
-o-background-size: 30px 30px;
background-size: 30px 30px;
}

现在,当我调整窗口的宽度时,在奇数窗口宽度处, Sprite 在我的视网膜显示器上被裁剪了两侧。它不会出现在标准(1 个 css 像素到 1 个显示像素)显示器上。

enter image description here

这种明显的渲染错误不会出现在 Safari 或 Firefox 中。这是在运行 Chrome 35 的 OS X 10.9.3 上。

编辑:它也发生在纯 CSS 圆形上,因此似乎与背景图像的使用无关。

最佳答案

我的例子过于简单,所以问题不是单独发生的。

事实证明,通过我的完整应用程序中的 SASS 混合,我将以下内容应用于包含 Sprite 的面板(编辑问题以包含它)

-webkit-transform: translate3d(0px,0px,0px);

这是为了通过可用的硬件加速(主要是 iOS)提高 CSS 性能。

删除它会略微改善这种情况,因此在调整窗口大小时似乎不太可能“剪切”形状。

然而,从 :after 元素中删除 overflow: hidden 似乎完全解决了这个问题。

值得注意的是,即使是纯 CSS 圆也会出现这种“裁剪”副作用,它与背景图像无关(感谢@Rohit)。

这似乎是一个渲染错误,而不是我做错了什么。

关于css - 溢出问题 :hidden in Chrome on a 'retina' display,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24080555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com