【发布时间】:2023-04-01 01:30:01
【问题描述】:
以下 HTML 在 Safari(至少 15 岁以上)上引起了各种疯狂。首先,overflow: hidden div 的子 div 中包含的文本不会被裁剪到 div 的边界。其次,滚动页面会显示正确裁剪的子图像的一部分!
Chrome 和 Firefox 的行为符合预期(运行截取的代码以查看)。
从包含的 div 中删除 transform 可以解决滚动问题,但不能解决文本剪辑问题。我正在为这些元素制作动画,并希望继续使用transform。关于 Safari 的想法或解决方法有什么想法吗?
更新:将 will-change: transform 添加到 #slide div 或包含文本的子 div 修复了剪切问题。为什么以及这是否指向更好的解决方案?
<body style="margin: 0">
<div style="width: 1280px; height: 500px; overflow: auto">
<div id="slide" style="transform: scale(1); width: 375px; height: 2134px; overflow: hidden">
<div style="position: absolute; width: 900px; height: 100px; font-size: 80px">
this text should be clipped
</div>
<img
src="http://next.playful.software/_/api/resources/-Mrhhc4W1jBhv-cffL0v/data/sha256:5815fbb5eee544606c43ad5f7fba7612f4c7eae3e4456741a7ae23dd493f1de9"
style="width: 1599px; height: 2134px"
/>
</div>
</div>
</body>
【问题讨论】:
-
所有样式都必须内联吗?
-
@Kameron 如果将他们移到课堂上有助于解决问题,那就不行了!
标签: html css safari overflow css-transforms