Css flex basis:0,隐藏溢出,笨拙地添加空间

Css flex basis:0,隐藏溢出,笨拙地添加空间,css,sass,flexbox,frontend,Css,Sass,Flexbox,Frontend,我试图通过转换flex和flex-basis属性,暂时将一些内容隐藏在视图之外 下面的链接是对我遇到的问题的一个过于简化的演示。查看第一项如何继承额外空间。。。 项目 项目 项目 项目 .盒子{ 显示器:flex; 柔性包装:包装; } .项目{ 弹性:1050%; 背景:番茄; 溢出:隐藏; } .first{flex:01100%;} .second{flex:0;} .forth{flex:01100%;} 这里的第二个链接更接近于我试图实现的目标,但仍然演示了添加额外空间的问题 如

我试图通过转换flex和flex-basis属性,暂时将一些内容隐藏在视图之外

下面的链接是对我遇到的问题的一个过于简化的演示。查看第一项如何继承额外空间。。。


项目
项目

项目

项目 .盒子{ 显示器:flex; 柔性包装:包装; } .项目{ 弹性:1050%; 背景:番茄; 溢出:隐藏; } .first{flex:01100%;} .second{flex:0;} .forth{flex:01100%;}
这里的第二个链接更接近于我试图实现的目标,但仍然演示了添加额外空间的问题


如果您能就发生这种情况的原因或如何解决提出任何建议,我们将不胜感激。:)

在第二个链接中,单击按钮后添加的空格是由第二个div
引起的,因为从技术上讲,它仍然是正常流程的一部分。解决方法是在单击按钮后“删除”第二个div。对代码进行以下编辑:

.box {
  display: flex;
  flex-wrap: wrap;
  background: tomato; /*add background color to your .box. This is needed for animation reasons*/
}

.box.toggle {
  .second {
    flex: 0 1 0%;
    height: 0; /* This hides the second div and removes the space you're referring to.*/
  }
}

希望这对你有用

在第二个链接中,单击按钮后添加的空格是由第二个div
引起的,因为从技术上讲,它仍然是正常流程的一部分。解决方法是在单击按钮后“删除”第二个div。对代码进行以下编辑:

.box {
  display: flex;
  flex-wrap: wrap;
  background: tomato; /*add background color to your .box. This is needed for animation reasons*/
}

.box.toggle {
  .second {
    flex: 0 1 0%;
    height: 0; /* This hides the second div and removes the space you're referring to.*/
  }
}

希望这对你有用

这是我提出的一个可能的解决方案,尽管它让人感觉很粗糙,我希望有更优雅的东西

我正在转换容器元素上的最大高度和变换

<div class="item second">
  <div class="second-container">
    <p>item</p>
    <p>item</p>
  </div>
</div>

.second-container {
  transition-property: max-height, transform;
  transition-timing-function: ease-in-out;
  transition-duration: 2s;
  transform: translateX(0);
  max-height: 1000px;
  width: 200px;
  overflow: hidden;
}

second-container {
  max-height: 0;
  transform: translateX(-100%);
}

项目

项目

.第二个货柜{ 过渡属性:最大高度,变换; 过渡定时功能:易进易出; 过渡时间:2s; 变换:translateX(0); 最大高度:1000px; 宽度:200px; 溢出:隐藏; } 第二个容器{ 最大高度:0; 转化:translateX(-100%); }
这是我提出的一个可能的解决方案,尽管它感觉很粗糙,我希望有更优雅的东西

我正在转换容器元素上的最大高度和变换

<div class="item second">
  <div class="second-container">
    <p>item</p>
    <p>item</p>
  </div>
</div>

.second-container {
  transition-property: max-height, transform;
  transition-timing-function: ease-in-out;
  transition-duration: 2s;
  transform: translateX(0);
  max-height: 1000px;
  width: 200px;
  overflow: hidden;
}

second-container {
  max-height: 0;
  transform: translateX(-100%);
}

项目

项目

.第二个货柜{ 过渡属性:最大高度,变换; 过渡定时功能:易进易出; 过渡时间:2s; 变换:translateX(0); 最大高度:1000px; 宽度:200px; 溢出:隐藏; } 第二个容器{ 最大高度:0; 转化:translateX(-100%); }
对于最终状态,这肯定是可行的,但这种方法在过渡过程中产生的突然间隙正是我试图解决的问题。我在转换“最大高度”(max height)方面取得了一些成功,但它似乎起了作用。在某些渲染步骤中,它会给我带来一些奇怪的闪烁。至于最终状态,这肯定会起作用,但这种方法在转换过程中产生的突然间隙正是我试图解决的问题。我在转换“最大高度”(max height)方面取得了一些成功,但它似乎起了作用,在一些渲染步骤中,它会让我出现一些奇怪的闪烁。