当前位置: 首页 > 知识库问答 >
问题:

浏览器上小于子元素的flexbox父元素调整大小[重复]

伯丁雷
2023-03-14

为什么在狭窄的屏幕上,父母比孩子小?

请参阅代码段。。。然后调整浏览器的大小(宽度方向),使其小于粉红色框。滚动条应该出现。在页面上向右滚动,注意绿色背景比粉色区域小,并且右侧有一个白点。

问题太少了:

>

  • 为什么会这样?

    当浏览器调整大小时,我如何防止父div的绿色背景变得比粉红色框/div小,而不在父div(或其他任何地方)上设置显式宽度或使用overflow:隐藏

    这个问题有flexbox解决方案吗?

    谢谢

    托马斯

    .parent {
      height: 400px;
      background-color: green;
      display: flex;
    }
    
    .item {
    
      height: 100px;
      background-color: pink;
      padding: 10px;
    }
    <div class="parent">
      <div class="item">looooooooooooooooooooooooooooong</div>
      <div class="item">looooooooooooooooooooooooooooong</div>
    </div>
  • 共有2个答案

    魏书
    2023-03-14

    >

  • 它会发生,因为你的。父是一个普通的块元素(flex也是一个块级容器),并且它是用宽度初始化的:自动;,在你的例子中是视口的宽度。所以向右滚动会显示空白,因为div的宽度小于整个可滚动区域。

    您可以通过设置来实现这一点。父元素到内联元素,内联元素将响应其子元素的宽度。

    是的,只需在.父上使用show: inline-flex;

    .parent {
      height: 400px;
      width: 100%;
      background-color: green;
      display: inline-flex;
    }
    
    .item {
      flex: 1;
      height: 100px;
      background-color: pink;
      padding: 10px;
    }
    <div class="parent">
      <div class="item">looooooooooooooooooooooooooooong</div>
      <div class="item">looooooooooooooooooooooooooooong</div>
    </div>

  • 房学文
    2023-03-14

    默认情况下,弹性项不能小于其内容的大小。因此,虽然父项可以收缩,但弹性项不能收缩超过文本的长度。这会导致溢出,并导致下面的空白列。

    弹性项目的初始设置为minwidth:auto。要使每个项目都留在容器内,请切换到minwidth:0

    .parent {
      height: 400px;
      background-color: green;
      display: flex;
    }
    
    .item {
      height: 100px;
      background-color: pink;
      padding: 10px;
      min-width: 0;   /* NEW */
    }
    <div class="parent">
      <div class="item">looooooooooooooooooooooooooooong</div>
      <div class="item">looooooooooooooooooooooooooooong</div>
    </div>
     类似资料:
    • 为了增强用户体验,CSS3 中新增了一个非常实用的 resize 属性,该属性允许用户通过拖动的方式来自由缩放元素的尺寸,在此之前要实现类似的效果还需要借助大量的 JavaScript 代码。resize 属性的语法格式如下: resize: none|both|horizontal|vertical; 语法说明如下: none:用户无法调整元素的尺寸; both:用户可调整元素的高度和宽度; h

    • 问题内容: 和其他几个,但是没有什么不是我想要的。我想要的是将某些内容缩放到其大小的50%(当然,还要进行动画效果的过渡),然后将页面布局重新调整为该元素的新(可视)大小。默认情况下似乎发生的是该元素仍保留其在布局结构中的原始大小,并且仅通过关联的转换进行绘制。 基本上,我希望用户单击一个文本块(或其他内容),然后将该文本缩放到其大小的50%(或任何其他大小),并将其粘贴在下面的面板中以表明已被选

    • 问题内容: 调整浏览器窗口大小时,有什么方法可以调整jqGrid的大小?我已经尝试过这里描述的方法,但是该技术在IE7中不起作用。 问题答案: 作为后续措施: 由于不可靠,本文中显示的先前代码最终被放弃了。我现在按照jqGrid文档的建议使用以下API函数调整网格大小: 为了进行实际的大小调整,将实现以下逻辑的函数绑定到窗口的resize事件: 使用其父级的clientWidth和(如果不可用)o

    • 本节介绍的属性和方法并不属于“DOM2 级样式”规范,但却与HTML 元素的样式息息相关。DOM中没有规定如何确定页面中元素的大小。IE 为此率先引入了一些属性,以便开发人员使用。目前,所有主要的浏览器都已经支持这些属性。 1. 偏移量首先要介绍的属性涉及偏移量(offset dimension),包括元素在屏幕上占用的所有可见的空间。元素的可见大小由其高度、宽度决定,包括所有内边距、滚动条和边框

    • 问题内容: 不知道我需要什么。我有一个包含一些内部元素的容器(JPanel)。我想知道是否有可能迫使内部元素适应容器的大小。我需要使它们完全可见,即调整其大小以适合面板的尺寸,并且不剪切内部元素的某些部分。 滚动不是一种选择。 使用Layout或其他方法可以做到吗? 编辑:重要说明:问题是我无法访问内部元素,也无法访问其属性,因此我想说需要一个能够调整子元素大小以适合其大小的Layoutmanag

    • 本文向大家介绍css子元素会继承父元素的font-size吗?请解释下面父子元素各字体的大小相关面试题,主要包含被问及css子元素会继承父元素的font-size吗?请解释下面父子元素各字体的大小时的应答技巧和注意事项,需要的朋友参考一下 给出时,未定义的子元素的字体大小按照的定义,为 ; 如果没有在 中定义,则会继承父元素的。