【发布时间】:2013-11-16 15:11:20
【问题描述】:
如果你看看:http://jsfiddle.net/KA4dz/
在这个演示中,您可以清楚地看到内部元素由于其旋转而延伸到外部元素之外。请求是缩小内部元素(同时保持纵横比和中心位置),使其适合其容器。
用例是用户可以手动旋转这样的内部元素,同时确保它留在外部元素内。 (所以简单地缩小直到适合眼睛不是解决方案)。
这是我的数学技能明显缺乏的情况。在这个阶段发布我尝试过的内容不会有多大好处。有人能指出我正确的方向吗?
谢谢!
另一个要求是内部元素仅在需要时缩小,而在不需要时从不缩小(需要意味着离开外部元素的边界)
保存点击:
.outer{
border: 1px solid black;
width: 100px;
height: 50px;
margin: 100px;
}
.inner{
background: blue;
width: 100px;
height: 50px;
transform: rotate(-40deg);
-webkit-transform: rotate(-40deg);
}
<div class="outer">
<div class="inner">
</div>
</div>
【问题讨论】:
-
好吧,如果你想先发制人地缩小,这样它就永远不会离开容器,而不是你需要斜边与短边的比率。 50 / sqrt(100^2 + 50^2)
-
内部块是否应该随着用户旋转项目而改变大小?
-
那么,就是边旋转边缩放,如果确定旋转会超出外框的范围?
-
到目前为止,我已经在 JS 中提出了这个问题。我知道这还不是 100%(老实说,更像是 50%),但应该给你一个开始。现在不能再花时间了。 jsfiddle.net/KA4dz/20
标签: javascript css rotation transform