首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >变换:缩放垂直对齐元素

变换:缩放垂直对齐元素
EN

Stack Overflow用户
提问于 2017-09-23 17:20:07
回答 1查看 1.6K关注 0票数 0

我在其他div元素中垂直对齐了div元素。

我正在使用:position: relative; transform: translateY(-50%); top: 50%对齐它们。效果很好。

我现在想要缩放元素(使用jQuery插件'Transit')。

当我缩放子div元素时,它们会移出垂直对齐(https://i.imgur.com/wWTJSSj.png第二个绿色框已经应用了transform: scale(1.5) )。

有办法绕过这件事吗?

EN

回答 1

Stack Overflow用户

发布于 2017-09-23 18:51:51

听起来你好像忘了第二个transform完全覆盖原来的。第二个转换应该是 transform: translateY(-50%) scale(1.5);

代码语言:javascript
复制
.container {
  height: 100vh;
  padding-top: .25em;
}

.box {
  height: 2em;
  width: 3em;
  background: limegreen;
  float: left;
  margin: .5em;
  position: relative;
  transform: translateY(-50%);
  top: 50%;
  transition: transform .3s ease;
}

.tall {
  height: 4em;
}

.box:hover {
  transform: translateY(-50%) scale(1.5);
}
代码语言:javascript
复制
<div class="container">
  <div class="box"></div>
  <div class="box tall"></div>
  <div class="box"></div>
  <div class="box"></div>

</div>

坦率地说,这种对齐技术是不必要的。使用display:inline-blockvertical-align:middle,或者仅仅使用flexbox和align-items:center,这些孩子可以更简单地对齐。

Inline-block

代码语言:javascript
复制
.container {
  height: 100vh;
  padding-top: .25em;
}

.box {
  height: 2em;
  width: 3em;
  display: inline-block;
  vertical-align: middle;
  background: limegreen;
  margin: .5em;
  transition: transform .3s ease;
}

.tall {
  height: 4em;
}

.box:hover {
  transform: scale(1.5);
}
代码语言:javascript
复制
<div class="container">
  <div class="box"></div>
  <div class="box tall"></div>
  <div class="box"></div>
  <div class="box"></div>

</div>

Flexbox

代码语言:javascript
复制
.container {
  height: 100vh;
  padding-top: .25em;
  display: flex;
  align-items: center;
}

.box {
  height: 2em;
  width: 3em;
  background: limegreen;
  margin: .5em;
  transition: transform .3s ease;
}

.tall {
  height: 4em;
}

.box:hover {
  transform: scale(1.5);
}
代码语言:javascript
复制
<div class="container">
  <div class="box"></div>
  <div class="box tall"></div>
  <div class="box"></div>
  <div class="box"></div>

</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46382286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档