【问题标题】:IE11 flexbox text doesn't wrap in list itemIE11 flexbox 文本不包含在列表项中
【发布时间】:2018-04-04 12:53:17
【问题描述】:

我遇到了 IE11 的问题,即文本不像其他浏览器那样换行。我已经为这个问题设置了一个codepen。

https://codepen.io/johnny_gruber/pen/QmBePd

HTML

<header>
  <div class="logo">
    <img src="https://upload.wikimedia.org/wikipedia/commons/c/ce/Coca-Cola_logo.svg" alt="">
  </div>
  <div class="search">
      search
  </div>
  <div class="language">
      DE v
  </div>
  <nav>
    <ul>
      <li>Home</li>
      <li>Product & Solutions</li>
      <li>Industries</li>
      <li>Facilities</li>
      <li>About Us</li>
      <li>Contact Us</li>
      <li>Group Website</li>
    </ul>
  </nav>
  <div class="login">
    login v
  </div>
</header>

CSS

header {
  display: flex;
  flex-direction: row wrap;
  max-width: 100%;
}

.logo,
.search,
.language,
.login {
  flex-shrink: 0; 
}

ul {
  display: flex;
  float: right;
}

li {
  padding: 25px 15px;
}

nav {
  flex-grow: 1;
  flex-shrink: 1;
}

在 chrome 中,您可以看到预期的行为。如果可能,文本会换行。在 IE11 中,它只停留在一行上。是否有机会在 IE11 上获得相同的行为?

谢谢!

【问题讨论】:

    标签: css flexbox internet-explorer-11


    【解决方案1】:

    IE 11 要求将一个单位添加到第三个参数,即 flex-basis 属性

    c/o CanIuse.com

    从那里,只需将ul 设置为display:flexli 即可:

    li {
      padding: 25px 15px;
      flex: 1 1 50px;
    }
    

    body {
      font-family: Arial;
      font-size: 16px;
    }
    
    header {
      display: flex;
      flex-direction: row wrap;
      max-width: 100%;
    }
    
    .logo {
      height: 72px;
    }
    
    .search,
    .language,
    .login {
      width: 50px;
      height: 50px;
      padding: 10px;
      border: 1px solid silver;
    }
    
    .logo,
    .search,
    .language,
    .login {
      flex-shrink: 0; 
    }
    
    ul {
      display: flex;
      list-style:none;
    }
    
    li {
      padding: 25px 15px;
      flex: 1 1 50px;
    }
    
    nav {
      flex-grow: 1;
      flex-shrink: 1;
    }
    <header>
      <div class="logo">
        <img src="https://upload.wikimedia.org/wikipedia/commons/c/ce/Coca-Cola_logo.svg" alt="">
      </div>
      <div class="search">
          search
      </div>
      <div class="language">
          DE v
      </div>
      <nav>
        <ul>
          <li>Home</li>
          <li>Product & Solutions</li>
          <li>Industries</li>
          <li>Facilities</li>
          <li>About Us</li>
          <li>Contact Us</li>
          <li>Group Website</li>
        </ul>
      </nav>
      <div class="login">
        login v
      </div>
    </header>

    Codepen.io Demo

    【讨论】:

    • 嗨,是的,我已经有了这个解决方案,但问题是,如果屏幕更大,列表项现在会延伸到整个区域,而不是停留在右端。
    猜你喜欢
    • 2016-05-01
    • 2018-06-27
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    相关资源
    最近更新 更多