代码之家  ›  专栏  ›  技术社区  ›  JustWe

如何防止隐藏子文本溢出父级展开?

  •  1
  • JustWe  · 技术社区  · 6 年前

    HTML:

    <nav>
      <span>
        <h3>123</h3>
        <h3>111111111111111111111111111111111111111111111111111111111111</h3>
      </span>
    </nav>
    

    SCSS:

    nav {
      width: 100%;
      display: flex;
      justify-content: center;
      span {
        display: inline-flex;
        align-items: center;
    
        h3 {
          overflow: hidden;
          max-width: 30%;
          text-overflow: ellipsis;
          white-space: nowrap;
          margin: 0 1em;
        }
      }
    }
    

    这里的代码是: https://codepen.io/arkceajin/pen/bKNOwX

    可以看到里面一个看不见的区域 <span> ,如果增加文本内容,它将展开。

    预期结果 :使 <跨度> 居中对齐 <nav> .

    1 回复  |  直到 6 年前
        1
  •  1
  •   fen1x    6 年前

    在你的例子中 span 是一个flex容器-所以它应该 justify-content: center 如果你想让孩子们沿着主轴居中。

    nav {
      width: 100%;
      display: flex;
    }
    nav span {
      display: inline-flex;
      border: 1px solid blue;
      justify-content: center;
    }
    nav span h3 {
      border: 1px solid red;
      overflow: hidden;
      max-width: 30%;
      text-overflow: ellipsis;
      white-space: nowrap;
      margin: 0 1em;
    }
    <nav>
      <span>
        <h3>123</h3>
        <h3>111111111111111111111111111111111111111111111111111111111111</h3>
      </span>
    </nav>