css - 在某些情况下,div 的宽度会增加,即使我有溢出 :auto

标签 css reactjs

我试图创建一个像网格一样的表格,有两列(50/50 宽度),这样在每一列内,每一行又包含两列(50/50 宽度),这里是 demo .另外,我的目标是判断一行中的右列是否需要更大的宽度才能显示滚动条。

它似乎在大多数情况下都有效。例如,它适用于此类数据:

  // Array with two sub arrays, each sub array holds rows for that column.
  let items = [
    [{ value: "2", label: "1" }], 
    [
      {
        label: "test ",
        value: "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
      }
      // {
      //   label: "test",
      //   value:
      //     "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ut nisi feugiat arcu elementum feugiat. Sed varius eros ac convallis interdum. Quisque tincidunt mauris vitae ipsum malesuada tempus. Cras ut dui vitae tortor finibus rhoncus ut in enim. Morbi nec nibh vitae mauris pretium convallis. Curabitur sed ornare arcu. Fusce dictum, lacus eget efficitur posuere"
      // }
    ]
  ];

也就是说,蓝色矩形正确地将屏幕一分为二,而且最右边的列有一个滚动条。参见 here .

但是如果我取消注释上面代码片段(文本较大的那个),右边的蓝色矩形会占用太多宽度。为什么会这样?为什么根据我取消评论的元素会有不同的行为?

最佳答案

像这样尝试 maxWidth: "50%":

<div style={{ display: "flex" }}>
      {items.map((x, i) => {
        return (
          <div style={{ flex: 1, maxWidth: "50%" }} key={i}>
            {x.map((y, j) => {
              return (
                <div
                  style={{
                    display: "flex",
                    border: "1px solid blue"
                  }}
                  key={j}
                >
                  <div style={{ flex: 1, maxWidth: "50%" }}>{y.label}:</div>
                  <div
                    style={{
                      flex: 1,
                      whiteSpace: "nowrap",
                      overflow: "auto"
                    }}
                  >
                    {y.value}
                  </div>
                </div>
              );
            })}
          </div>
        );
      })}
    </div>

关于css - 在某些情况下,div 的宽度会增加,即使我有溢出 :auto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66224932/

相关文章:

javascript - 如何在鼠标悬停时将 CSS 类动态添加到表格行

javascript - 具有 'slidedown' 功能的横幅广告在我的 jsfiddle 中有效,但在真实环境中无效

javascript - 三元内部输入 react

reactjs - react native 选项卡导航器延迟加载

reactjs - 创建水平分隔符

reactjs - 为什么此 typescript react 组件中的预期 Prop 的对象结构中有一个分号?

html - 如何垂直对齐CSS网格卡的内容

css - 带有 JQuery Mobile 的导航栏谷歌风格

html - 另一个表格内的可滚动表格

javascript - IDE 中 jsx 代码的流 'unexpected token <'