当前位置: 首页 > 面试题库 >

我该如何定位:固定;框大小的元素的行为?

孔皓
2023-03-14
问题内容

我有一个名为.side-el的div,我希望该位置为:fixed;
行为,但是一旦我将位置固定后,宽度就会从右边的位置开始交替变化。正确的宽度将是flexbox设置的宽度。我怎样才能实现这个目标?

.container {

  -webkit-align-content: flex-start;

  align-content: flex-start;

  -webkit-align-items: flex-start;

  align-items: flex-start;

  display: -webkit-flex;

  display: flex;

  -webkit-flex-direction: row;

  flex-direction: row;

  -webkit-flex-wrap: wrap;

  flex-wrap: wrap;

  -webkit-justify-content: flex-start;

  justify-content: flex-start;



  * {

    box-sizing: border-box;

    -webkit-flex-grow: 1;

    flex-grow: 1;

    -webkit-flex-shrink: 0;

    flex-shrink: 0;

  }

}





.main-el {

  box-sizing: border-box;

  padding:0 2em;

  width: 70%;

}



.side-el {

  box-sizing: border-box;

  width: 30%;

}


<div class="container" style="background-color: blue; height: 100px;">

  <div class="main-el">

    <div  style="background-color: red; height: 1000px;">content</div>

  </div>

  <div class="side-el" >

    <div style="background-color: red; height: 100px;">content</div>

  </div>

</div>

问题答案:

这是一种受引导启发的方法:

.fixed-top {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

这给您的伸缩盒空间提供了呼吸,这是伸缩盒的工作。如果弹性方向是列,则可以top, left, bottom改用。

之所以起作用,是因为当您为元素提供固定位置并且a leftright0或a top和bottom0时,该元素将被拉伸以从左到右或从上到下填充空间。这样一来,Flexbox就可以在不固定位置的情况下使用您期望的空间量。



 类似资料:
  • 问题内容: 我已经有一段时间了,这似乎是一个Chrome重绘错误,尚未修复。因此,我正在寻找任何权宜之计。 主要问题是页面上的元素具有使用以下内容的背景图像时: 如果另一个元素固定并具有子视频元素,则它将导致具有背景图像的元素消失。 现在,它可以在Safari(以及Firefox和IE)中正常运行,因此这并不是Webkit的问题。我已经应用了一些没有用的建议属性。 目前,我的解决方案只是通过媒体查

  • 问题内容: 因此,我正在从Web服务加载图像,但是图像的大小有时小于或大于其他图像,当我将其放入android的ListView中时,可视化效果看起来很愚蠢。我想固定ImageView的大小,以便仅在图像大小大于预设值时才显示图像的一部分。我已经尝试了所有可以想到的设置setMaxWidth / setMaxHeight,将比例类型设置为centerCrop,使用ClipableDrawable包

  • 我需要创建可以动态变化棋盘游戏。 它的大小可以是5x5、6x6、7x7或8x8。 我将JavaFX与NetBeans和Scene builder一起用于GUI。 对于GridPane中的每个单元格,我将添加单元格编号的StackPane+label: 我在网上搜索,但没有找到与我相同的问题。 唯一与我相似的问题是在这里找到的: 在JavaFX中动态地向固定大小的GridPane中添加元素 但是他的

  • 问题内容: 我发现当我固定一个元素固定的位置时,父元素是否相对放置都没关系,它相对于窗口的位置是否固定? CSS HTML 问题答案: 让我为两个可能的问题提供答案。请注意,您现有的标题(和原始帖子)提出的问题与您在编辑和后续评论中寻求的问题不同。 要将元素相对于父元素“固定”放置,您需要在子元素上,并且要在 父元素 上使用默认或静态以外的任何位置模式。 例如: 这将相对于parentDiv的位置

  • 问题内容: 我想创建一个以动态宽度和高度为中心的弹出框。我曾经为此。没有它,则水平居中,但不能垂直居中。添加后,它甚至没有水平居中。 这是完整的设置: 如何使用CSS在屏幕上将此框居中? 问题答案: 基本上,您需要设置div 并将其居中放置在div的左上角。您还需要将和设置为div的高度和宽度的负一半,以将中心移到div的中间。 因此,在提供(标准模式)的情况下,此操作应: 或者,如果你不关心垂直

  • 问题内容: 我试图弄清楚,即使将HTML页面的主体设置为,为什么将其设置为HTML页面的主体也会使我的元素成为现实。 在此演示中可以更好地理解效果。 这是代码: 题 和定位之间是什么关系?为什么设置该属性会导致我的元素变为而不是? 问题答案: 元素仍然是,但是由于和框模型之间的一些相当复杂的交互,它看起来是固定的。令人难以置信的是,这些行为都不是未指定的,也不是任何浏览器中的错误- 实际上,这完全