首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我能用什么来代替translate3d

我能用什么来代替translate3d
EN

Stack Overflow用户
提问于 2016-11-25 00:11:09
回答 1查看 602关注 0票数 0

因此,代码transform: translate3d(0,0,0);使position:fixed;无法工作。通过删除它,我现在可以再次使用position:fixed;了。一个问题是,我的导航栏是使用转换代码来打开的,我还能用什么方法让它做同样的事情呢?

这里的代码与转换代码,请记住,这已被删除。

代码语言:javascript
复制
.nav-content {
  flex: 1;
  box-shadow: 0 0 5px rgba(0,0,0,1);
  transform: translate3d(0,0,0);
  transition: transform .3s;
}

.nav-content.isOpen {
  transform: translate3d(220px,0,0);
}
.nav-content.isClosed {
  transform: translate3d(0,0,0);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-25 00:18:10

即使对于固定的元素,转换也会建立包含块。没有解决办法。要么不使用转换,要么固定定位变得有点无用。

在这种情况下,如果您只使用translate3d向X方向进行转换,则只需使用带有左偏移量的相对位置。

代码语言:javascript
复制
.nav-content {
  position: relative;
  left: 0;
  transition: left .3s;
}
.nav-content.isOpen {
  left: 220px;
}

代码语言:javascript
复制
.nav-content {
  position: relative;
  left: 0;
  transition: left .3s;
  height: 200vh;
  border: 3px solid blue;
}
:checked ~ .nav-content {
  left: 220px;
}
.fixed {
  position: fixed;
}
代码语言:javascript
复制
<input type="checkbox" id="toggle" />
<label for="toggle">Toggle</label>
<div class="nav-content">
  <div class="fixed">I am fixed</div>
</div>

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

https://stackoverflow.com/questions/40796026

复制
相关文章

相似问题

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