【发布时间】:2017-11-03 02:46:41
【问题描述】:
有一个全宽容器,其中包含位于容器内部中心的内盒。盒子里面有一个 100% 宽度的绝对定位盒子。对盒子也应用了变换:translate()。
HTML:
<div class="cover-holder">
<div class="cover">
<div class="cover__overlay"></div>
</div>
</div>
CSS:
.cover-holder {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
display: flex;
justify-content: center;
}
.cover {
width: 206px;
height: 206px;
background: white;
position: relative;
overflow: hidden;
align-self: center;
}
.cover__overlay {
background: rgba(0, 0, 0, 0.8);
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
transition-duration: 0.3s;
transform: translate3d(0, 50%, 0);
}
.cover:hover .cover__overlay {
transform: translate3d(0, 0, 0);
}
问题:
仅在 Safari 浏览器上出现奇数大小的窗口(或透明“边框”):
预期结果(在 Chrome、Firefox 和 IE 上的显示效果):
【问题讨论】:
-
您使用的是哪个 Safari 版本,您能否提供一个特定像素范围的窗口宽度/高度,以使您看到边框显示出来?我正在查看 Safari 10.1.1,我正在将您的小提琴的结果面板调整为各种尺寸,但我没有看到边框出现。
-
嗨@cjl750 我尝试了不同的方法:真实设备 - OS X El Capitan 上的 Safari 10.11.6,以及 BrowserStack - El Capitan 上的 Safari 9.1 和 Sierra 上的 Safari 10.1。关于窗口大小,您可以很容易地注意到调整窗口大小的问题...
标签: css safari css-transitions css-position