代码之家  ›  专栏  ›  技术社区  ›  four-eyes

使<div>长度相同并出现在列中

  •  0
  • four-eyes  · 技术社区  · 6 年前

    我有以下结构

    <!DOCTYPE html>
    <html>
    
      <head>
        <title></title>
      </head>
    
      <body>
        <div id='whatStyling'>
          <div class='container'>
            <div class='element'>
              <p class='text'>Foo</p>
            </div>
          </div>
          <div class='container'>
            <div class='element'>
              <p class='text'>Bar</p>
            </div>
          </div>
          <div class='container'>
            <div class='element'>
              <p class='text'>Fooooooo Baaaaaar</p>
            </div>
          </div>
        </div>
      </body>
    
    </html>
    

    加价

    #whatStyling {
      display: flex;
      flex-direction: column,
    }
    
    .container {
      display: flex;
    }
    
    .element {
      display: flex;
      padding: 0.2rem 2.8rem 0.2rem 0.8rem;
      min-width: 1rem;
      background-color: rgb(255, 0, 0);
    }
    
    .text {
      color: rgb(128, 128, 128);
      font-family: Roboto, sans-serif;
      font-weight: 500;
      font-size: 1.5rem;
      background-color: rgb(255, 255, 255);
    }
    

    http://jsfiddle.net/g8ansow3/6/

    我想要所有的元素都一样 width Fooooooo Baaaaaar )并显示为列。注意我需要 display: flex; .container . 我还不知道会有多少元素。

    我最喜欢的外型是什么 #whatStyling 如果可能的话,需要 flex box

    2 回复  |  直到 6 年前
        1
  •  1
  •   Temani Afif    6 年前

    使用 inline-flex 而不是 flex width:100%

    #whatStyling {
      display: inline-flex; /*Changed this*/
      flex-direction: column; /* Corrected a typo here*/
    }
    
    .container {
      display: flex;
    }
    
    .element {
      display: flex;
      padding: 0.2rem 2.8rem 0.2rem 0.8rem;
      min-width: 1rem;
      width:100%; /*Added this */
      background-color: rgb(255, 0, 0);
    }
    
    .text {
      color: rgb(128, 128, 128);
      font-family: Roboto, sans-serif;
      font-weight: 500;
      font-size: 1.5rem;
      background-color: rgb(255, 255, 255);
    }
    <div id='whatStyling'>
      <div class='container'>
        <div class='element'>
          <p class='text'>Foo</p>
        </div>
      </div>
      <div class='container'>
        <div class='element'>
          <p class='text'>Bar</p>
        </div>
      </div>
      <div class='container'>
        <div class='element'>
          <p class='text'>Fooooooo Baaaaaar</p>
        </div>
      </div>
    </div>
        2
  •  0
  •   Mārcis P    6 年前

    你可以添加这段代码。由于默认设置,因此不需要弯曲方向。

    #whatStyling {
      display: flex;
      flex-direction: column;
    
    }
    
    .container {
      /*display: flex;*/
      flex-grow: 1;
      flex-basis: 0;
    }
    

    弹性生长:1; 弹性基础:0;

    http://jsfiddle.net/g8ansow3/18/