【发布时间】:2023-04-08 15:48:01
【问题描述】:
我创建了一个 html/javascript/css 页面,该页面在“轮播”中显示照片,用户可以在其中单击左右箭头来更改照片。轮播本身,即父/容器,高 500 像素,宽 100% 的父 div。里面的图像应该是最大 100% 宽和最大 100% 高。换句话说,无论纵横比如何,它都会将自己融入 imgCarousel。
这适用于大多数浏览器。我已经确认它可以在 IE、Edge、Chrome 和 Firefox 中运行。但是,它在 Safari 中不起作用。我个人无法使用 Mac,但我知道它在 Safari 中不起作用,因为其他人已经查看了我之前的页面。它也不适用于某些 android 移动浏览器(尽管它适用于 Android Chrome)。
似乎在这些不起作用的浏览器中,顶部实际上并未设置为 50%,但转换仍然正常工作。这是基于视觉检查。此外,图像的大小似乎不正确。延伸到全宽,高度延伸到100%以上;
很遗憾,我无法在这些浏览器上使用开发人员工具进行测试,因为我无法使用 Mac,而且我似乎无法找到可用于相同容量的移动浏览器的开发人员工具。
如果此处不违反协议,我可以链接到相关页面。
我做了一些研究,看看是否存在任何兼容性问题/修复,但我在这项研究中没有成功。如果有人知道我可以包含兼容性修复程序的任何方式,请告诉我。
谢谢。
.imgCarousel {
display: flex;
justify-content: space-between;
vertical-align: middle;
height: 500px;
background-color: black;
text-align: center;
margin: auto;
}
.imgCarousel img {
position: relative;
top: 50%;
transform: translateY(-50%);
-ms-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
max-height: 100%;
max-width: 100%;
object-fit: contain;
cursor: pointer;
}
【问题讨论】:
-
您能在 JSfiddle、CodePen、sn-p 中发布轮播的演示吗?还是只是一个网站链接?
-
你可以在你的 windows box 上安装 safari。
-
您可能缺少
transform属性的这些浏览器的浏览器前缀。 -
还要确保他们的 safari 是最新的。发现用户拥有古老版本的 safari 对我来说并不少见。如果是这样,它可能不支持其中一些 css 属性。您还应该将您知道的属性放在声明中更高的位置,因为某些解析器在遇到错误时会停止解析声明。
-
网站链接在这里:link。此外,似乎不再支持 Windows 版本的 Safari。当我从第 3 方位置下载时,许多更现代的 html 和 css 组件都不起作用。
标签: css image cross-browser