javascript - 在旋转的 div 上缩放时计算新的左侧和顶部

标签 javascript html css

我有这个 div,在绝对位置

div
{
  position:absolute;
  width:100px;
  height:100px;
  left: 30px;
  top: 30px;
  background-color:red;
  -ms-transform: rotate(40deg); /* IE 9 */
  -ms-transform-origin: 50% 50%; /* IE 9 */
  -webkit-transform: rotate(40deg); /* Chrome, Safari, Opera */
  -webkit-transform-origin: 50% 50%; /* Chrome, Safari, Opera */
  transform: rotate(40deg);
  transform-origin: 50% 50%;
  z-index:1;
}

div.resized
{
  width: 200px;
  background-color:blue;
  z-index:2;
}
<div></div>
<div class="resized"></div>

现在,当我将其宽度设置为 200px 时, 顶部和左侧向上移动并远离 它的原始点。

谁能告诉我如何计算这个运动的距离?

最佳答案

如果您希望枢轴点位于左上角,您应该相应地设置您的 transform-origin

改变你现有的

transform-origin: 50% 50%;

transform-origin: left top;

您需要稍微重新安排位置以获得与原始代码段中呈现的效果类似的效果,但现在旋转应该如您预期的那样工作。

div
{
  position:absolute;
  width:100px;
  height:100px;
  left: 30px;
  top: 30px;
  background-color:red;
  -ms-transform: rotate(40deg); /* IE 9 */
  -ms-transform-origin: 50% 50%; /* IE 9 */
  -webkit-transform: rotate(40deg); /* Chrome, Safari, Opera */
  -webkit-transform-origin: 50% 50%; /* Chrome, Safari, Opera */
  transform: rotate(40deg);
  transform-origin: left top;
  z-index:1;
}

div.resized
{
  top: 0;
  left: 0;
  width: 200px;
  background-color:blue;
  z-index:2;
}
<div></div>
<div class="resized"></div>

关于javascript - 在旋转的 div 上缩放时计算新的左侧和顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29517086/

相关文章:

javascript - Ember 将 PATCH 调用转换为 PUT

php - PHP 和 Javascript 之间的通信

jquery - 隐藏的 DIV 链接使其他人无法点击

html - 表格调整 th 和 td 的行宽

css - 背景大小取决于 CSS 中的字母高度

html - .setAttribute 没有正确隐藏。 HTML/CSS

javascript - 我可以在不使用 Jekyll 主题的情况下通过 git hub 页面使用 html、css 和 js 托管自定义站点吗?

javascript - 从 javascript 检索 JSON 到 php(OpenCart Controller )

javascript - 您如何在 localhost 中呈现 Google 广告单元?

javascript - 不要在 Material ui选择中单击图标时选择menuItem