Overflow:auto 不适用于 CSS3 转换的子元素。建议的解决方法?

发布于 2024-11-18 17:23:26 字数 677 浏览 2 评论 0原文

问题:在使用“overflow: auto;”计算包含 div 的滚动条的滚动高度和滚动宽度时,浏览器(FF5、Chrome12、IE9)会忽略应用于 div 内子元素的 css3 转换。

<style type="text/css">
div{ width: 300px;height:500px;overflow:auto; }
div img {
-moz-transform: scale(2) rotate(90deg);
-webkit-transform: scale(2) rotate(90deg);
-ms-transform: scale(2) rotate(90deg);
}
</style>    
<div><img src="somelargeimage.png" /></div>

我对 jsfiddle 进行了一个小测试,显示了不良行为。

http://jsfiddle.net/4b9BJ/

本质上,我试图使用 css3 变换来创建一个简单的基于 Web 的图像查看器进行旋转和缩放并希望具有固定宽度/高度的包含 div 能够滚动以查看其包含的图像的完整内容。

是否有一种明智的方法来处理这个问题,甚至是一个粗略的解决方法?任何帮助表示赞赏。

Problem: css3 transforms applied to a child element inside a div are ignored by the browser (FF5, Chrome12, IE9) when calculating the scrollHeight and scrollWidth of the containing div's scrollbars when using "overflow: auto;".

<style type="text/css">
div{ width: 300px;height:500px;overflow:auto; }
div img {
-moz-transform: scale(2) rotate(90deg);
-webkit-transform: scale(2) rotate(90deg);
-ms-transform: scale(2) rotate(90deg);
}
</style>    
<div><img src="somelargeimage.png" /></div>

I have put together a small test on jsfiddle showing the undesired behavior.

http://jsfiddle.net/4b9BJ/

Essentially I am trying to create a simple web based image viewer using css3 transforms for rotate and scale and would like a containing div with fixed width/height to be able to scroll to see the full content of the image it contains.

Is there an intelligent way to handle this issue, or even a rough workaround? Any help is appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怀里藏娇 2024-11-25 17:23:26

我为每个转换添加了一个额外的 div,并通过为这些 div 设置固定宽度并剪切溢出,我设法使它们具有正确的大小。但后来我不得不使用position:relative和top:blah;左:将图像移动到正确的位置。
http://jsfiddle.net/4b9BJ/7/

I added an extra div to each of the transformations and by setting fixed widths for those divs and clipping overflow I manged to make them the correct size. But then I had to use position: relative and top: blah; left: blah to shift the images into the correct position.
http://jsfiddle.net/4b9BJ/7/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文