容器内的Flexbox忽略正当内容

艾伦·格兰特(Alan Giant)

我希望在一个柔性容器中的两个div分别占据60%的空间和30%的周围均匀的空间,但是它们被挤得没有空间。

html
<!doctype html>
<html lang="en">
<head>
<title>gameplan.org.uk | A site for enthusiasts by enthusiasts.        
</title>

<link href="test.css" rel="stylesheet">

</head>

<header>Header</header>
<div id='main'>
<article>Player Page
<p>
<div class='playercontainer'>
<div class='playerbox1'>Player Summary</div>
<div class='playerbox2'>Player Details</div>
</div>
</p>
</article>
<nav>Menu</nav>
<aside>Stuff</aside>
</div>
<footer>Footer</footer>
</body>

和CSS:

body {
font: 24px Helvetica;
background: #999999;
color:rgba(0,0,0,.25);
}

#main {
min-height: 800px;
margin: 0px;
padding: 0px;
display: -webkit-flex;
display:                 flex;
-webkit-flex-flow: row;
flex-flow: row;        
}

#main > article {
margin: 4px;
padding: 5px;
border: 1px solid #cccc33;
border-radius: 7pt;
background: #dddd88;
-webkit-flex: 3 1 60%;
flex: 3 1 60%;
-webkit-order: 2;
order: 2;
}

#main > nav {
margin: 4px;
padding: 5px;
border: 1px solid #8888bb;
border-radius: 7pt;
background: #ccccff;
-webkit-flex: 1 6 20%;
flex: 1 6 20%;
-webkit-order: 1;
order: 1;
}

#main > aside {
margin: 4px;
padding: 5px;
border: 1px solid #8888bb;
border-radius: 7pt;
background: #ccccff;
-webkit-flex: 1 6 20%;
flex: 1 6 20%;
-webkit-order: 3;
order: 3;
}

header, footer {
display: block;
margin: 4px;
padding: 5px;
min-height: 100px;
border: 1px solid #eebb55;
border-radius: 7pt;
background: #ffeebb;
}

/* Too narrow to support three columns */
@media all and (max-width: 640px) {

#main, #page {
-webkit-flex-flow: column;
flex-flow: column;
}

#main > article, #main > nav, #main > aside {
/* Return them to document order */
-webkit-order: 0;
order: 0;
}

#main > nav, #main > aside, header, footer {
min-height: 50px;
max-height: 50px;
}
}


/*On the flex container*/
.playercontainer {
webkit-inline-flex; /* Safari */
display: inline-flex;     
-webkit-flex-flow: row;
flex-flow: row;
-webkit-flex-wrap: wrap; /* Safari */
flex-wrap: wrap;
-webkit-justify-content: space-around; /* Safari */
justify-content: space-around;
-webkit-flex: 3 1 100%;
flex: 3 1 0%;
}

.playerbox1 {
border-style: solid;
border-color: #0000ff;
-webkit-order: 1; /* Safari */
order: 1;
-webkit-flex: 3 1 60%;
flex: 3 1 60%;
}


.playerbox2 {
border-style: solid;
border-color: #ff0000;
-webkit-flex: 1 1 30%; /* Safari */
flex: 1 1 30%;
-webkit-order: 1; /* Safari */
order: 1;
}

我确定我缺少一些简单的东西,但我无法解决。您可以在此处实时查看代码1

m4n0

您需要在flexbox这里检查两件事

  1. 更改display: inline-flexdisplay: flex内联不走父容器的宽度,但内容的宽度。

  2. 设置flex-growflex-shrink为0,因为flex-basis已经采取扩张(宽度覆盖)的照顾。

修改后的CSS

.playercontainer {
  display: flex;     
}

.playerbox1 {
  flex-basis: 60%;
}

.playerbox2 {
  flex-basis: 30%;
}

输出:

body {
    font: 24px Helvetica;
    background: #999999;
    color: rgba(0, 0, 0, .25);
  }
  #main {
    min-height: 800px;
    margin: 0px;
    padding: 0px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row;
    flex-flow: row;
  }
  #main > article {
    margin: 4px;
    padding: 5px;
    border: 1px solid #cccc33;
    border-radius: 7pt;
    background: #dddd88;
    -webkit-flex: 3 1 60%;
    flex: 3 1 60%;
    -webkit-order: 2;
    order: 2;
  }
  #main > nav {
    margin: 4px;
    padding: 5px;
    border: 1px solid #8888bb;
    border-radius: 7pt;
    background: #ccccff;
    -webkit-flex: 1 6 20%;
    flex: 1 6 20%;
    -webkit-order: 1;
    order: 1;
  }
  #main > aside {
    margin: 4px;
    padding: 5px;
    border: 1px solid #8888bb;
    border-radius: 7pt;
    background: #ccccff;
    -webkit-flex: 1 6 20%;
    flex: 1 6 20%;
    -webkit-order: 3;
    order: 3;
  }
  header,
  footer {
    display: block;
    margin: 4px;
    padding: 5px;
    min-height: 100px;
    border: 1px solid #eebb55;
    border-radius: 7pt;
    background: #ffeebb;
  }
  /* Too narrow to support three columns */
  @media all and (max-width: 640px) {
    #main,
    #page {
      -webkit-flex-flow: column;
      flex-flow: column;
    }
    #main > article,
    #main > nav,
    #main > aside {/* Return them to document order */
      -webkit-order: 0;
      order: 0;
    }
    #main > nav,
    #main > aside,
    header,
    footer {
      min-height: 50px;
      max-height: 50px;
    }
  }
/*On the flex container*/
  .playercontainer {
    
   
    display: flex;
    -webkit-flex-flow: row;
    flex-flow: row;
    -webkit-flex-wrap: wrap;/* Safari */
    flex-wrap: wrap;
    -webkit-justify-content: center;/* Safari */
    justify-content: center;
    -webkit-justify-content: space-around;/* Safari */
    justify-content: space-around;
  }
  .playerbox1 {
    border-style: solid;
    border-color: #0000ff;
    -webkit-order: 1;/* Safari */
    order: 1;
    -webkit-flex: 0 0 60%;
    flex: 0 0 60%;
  }
  .playerbox2 {
    border-style: solid;
    border-color: #ff0000;
    -webkit-flex: 1 1 30%;
    /* Safari */
    flex: 0 0 30%;
    -webkit-order: 1;
    /* Safari */
    order: 1;
  }
<!doctype html>
<html lang="en">

<head>
  <title>gameplan.org.uk | A site for enthusiasts by enthusiasts.
  </title>

  <link href="test.css" rel="stylesheet">

</head>

<header>Header</header>
<div id='main'>
  <article>Player Page
    <p>
      <div class='playercontainer'>
        <div class='playerbox1'>Player Summary</div>
        <div class='playerbox2'>Player Details</div>
      </div>
    </p>
  </article>
  <nav>Menu</nav>
  <aside>Stuff</aside>
</div>
<footer>Footer</footer>
</body>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

弹性项目溢出容器时更改正当内容值

来自分类Dev

没有内联的 Flexbox 容器拟合内容

来自分类Dev

包含块内容的Flexbox项目会在Flexbox容器中溢出

来自分类Dev

高度相等的Flexbox,容器的内容物填充高度

来自分类Dev

绝对放置的容器未扩展宽度以适应Flexbox内容

来自分类Dev

高度相等的Flexbox,容器的内容物填充高度

来自分类Dev

不能正确地证明flexbox容器中的内容

来自分类Dev

CSS Flexbox - 展开容器下载以显示溢出内容

来自分类Dev

Flexbox CSS行无法缩小以适合容器内

来自分类Dev

将Flexbox容器保持在100%的高度内,并让溢出的孩子

来自分类Dev

在Flexbox容器CSS内滚动时出现问题

来自分类Dev

文本不会包裹在我的 flexbox 容器内

来自分类Dev

如何使用 FlexBox 将容器内的项目居中

来自分类Dev

当ListView内有许多容器时,如何忽略容器内的滚动?

来自分类Dev

如何忽略ANTLR中括号内的任意内容?

来自分类Dev

flexbox子级内的CSS可滚动内容

来自分类Dev

根据标签内内容的高度重新计算容器div的高度

来自分类Dev

溢出-y 滚动内容在 div 容器内消失?

来自分类Dev

全宽元素内的内容应该被容器化

来自分类Dev

Flexbox父容器不会随其子容器一起增长吗?内部内容溢出了父div

来自分类Dev

如何使flexbox子代的高度适合内容而不是其容器的100%高度

来自分类Dev

CSS Flexbox IE11 flex项目内容超出容器范围

来自分类Dev

尽管未在任何位置设置高度,但Flexbox内容无法拉伸以适合容器

来自分类Dev

Flexbox:将内容限制为容器大小,如果需要,则溢出

来自分类Dev

Flexbox高度被忽略

来自分类Dev

图像忽略Div容器

来自分类Dev

文本放大了flexbox容器

来自分类Dev

Flexbox容器的位置粘性

来自分类Dev

FlexBox容器无响应

Related 相关文章

  1. 1

    弹性项目溢出容器时更改正当内容值

  2. 2

    没有内联的 Flexbox 容器拟合内容

  3. 3

    包含块内容的Flexbox项目会在Flexbox容器中溢出

  4. 4

    高度相等的Flexbox,容器的内容物填充高度

  5. 5

    绝对放置的容器未扩展宽度以适应Flexbox内容

  6. 6

    高度相等的Flexbox,容器的内容物填充高度

  7. 7

    不能正确地证明flexbox容器中的内容

  8. 8

    CSS Flexbox - 展开容器下载以显示溢出内容

  9. 9

    Flexbox CSS行无法缩小以适合容器内

  10. 10

    将Flexbox容器保持在100%的高度内,并让溢出的孩子

  11. 11

    在Flexbox容器CSS内滚动时出现问题

  12. 12

    文本不会包裹在我的 flexbox 容器内

  13. 13

    如何使用 FlexBox 将容器内的项目居中

  14. 14

    当ListView内有许多容器时,如何忽略容器内的滚动?

  15. 15

    如何忽略ANTLR中括号内的任意内容?

  16. 16

    flexbox子级内的CSS可滚动内容

  17. 17

    根据标签内内容的高度重新计算容器div的高度

  18. 18

    溢出-y 滚动内容在 div 容器内消失?

  19. 19

    全宽元素内的内容应该被容器化

  20. 20

    Flexbox父容器不会随其子容器一起增长吗?内部内容溢出了父div

  21. 21

    如何使flexbox子代的高度适合内容而不是其容器的100%高度

  22. 22

    CSS Flexbox IE11 flex项目内容超出容器范围

  23. 23

    尽管未在任何位置设置高度,但Flexbox内容无法拉伸以适合容器

  24. 24

    Flexbox:将内容限制为容器大小,如果需要,则溢出

  25. 25

    Flexbox高度被忽略

  26. 26

    图像忽略Div容器

  27. 27

    文本放大了flexbox容器

  28. 28

    Flexbox容器的位置粘性

  29. 29

    FlexBox容器无响应

热门标签

归档