隐藏的溢出不适用于flexbox和margin auto

时间:2017-11-01 22:54:27

标签: html css css3 flexbox

我有一个Flex容器,里面有个别子容器。在这些子容器中,我有一个简单的内容div和一个标题div。我想要做的是垂直居中标题文本,但保持在框的顶部。然后,我试图将内容div放在框中,水平和垂直。

我有点想通了(但是我知道这段代码是一堆乱码),但现在当视口大小减小时,内容文本(溢出:隐藏)在大小减小时不会隐藏。我已经发现这是设置为0的边距,但我需要将它设置为0才能使血腥内容div居中!

非常感谢提供的任何和所有帮助。这是我创建的jsfiddle的链接,以帮助您可视化问题。更改视口的大小,您将看到我的问题,即"玩家总现金"框。

http://jsfiddle.net/mpqbassm/



body {
  background: #000;
}

.flex-container {
  display: flex;
  justify-content: space-around;
  margin-right: 10px;
  margin-bottom: 10px;
}

.flex-info {
  color: white;
  font-family: 'Arial', sans-serif;
  box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.2);
  padding: 10px;
  border-radius: 2px;
  width: 20%;
  height: 100px;
  display: flex;
  flex-direction: column;
}

.flex-info.green {
  background: #79B0B4;
}

.flex-info.blue {
  background: #7993B4;
}

.flex-info.foam {
  background: #79B47D;
}

.flex-info.pink {
  background: #9B79B4;
}

.flex-info.red {
  background: #B4797F;
}

.flex-info .flex-title {
  font-size: 16px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
}

.flex-info .flex-content {
  font-size: 40px;
  margin: auto;
  overflow: hidden;
}

<div class="flex-container">
  <div class="flex-info green">
    <div class="flex-title">Number of characters created</div>
    <div class="flex-content">46,401</div>
  </div>
  <div class="flex-info blue">
    <div class="flex-title">Number of vehicles purchased</div>
    <div class="flex-content">499,012</div>
  </div>
  <div class="flex-info foam">
    <div class="flex-title">Total cash amongst players</div>
    <div class="flex-content">$192,012,299</div>
  </div>
  <div class="flex-info red">
    <div class="flex-title">Total bans issued</div>
    <div class="flex-content">12</div>
  </div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

要阻止内容溢出,overflow: hidden必须位于元素的容器中。

在这种情况下,这将是具有类.flex-info的任何div。

在下面的实践中看看这个。

body {
  background: #000;
}

.flex-container {
  display: flex;
  justify-content: space-around;
  margin-right: 10px;
  margin-bottom: 10px;
}

.flex-info {
  color: white;
  font-family: 'Arial', sans-serif;
  box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.2);
  padding: 10px;
  border-radius: 2px;
  width: 20%;
  height: 100px;
  display: flex;
  flex-direction: column;
  overflow:hidden;
}

.flex-info.green {
  background: #79B0B4;
}

.flex-info.blue {
  background: #7993B4;
}

.flex-info.foam {
  background: #79B47D;
}

.flex-info.pink {
  background: #9B79B4;
}

.flex-info.red {
  background: #B4797F;
}

.flex-info .flex-title {
  font-size: 16px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
}

.flex-info .flex-content {
  font-size: 40px;
  margin: auto;
  overflow: hidden;
}
<div class="flex-container">
  <div class="flex-info green">
    <div class="flex-title">Number of characters created</div>
    <div class="flex-content">46,401</div>
  </div>
  <div class="flex-info blue">
    <div class="flex-title">Number of vehicles purchased</div>
    <div class="flex-content">499,012</div>
  </div>
  <div class="flex-info foam">
    <div class="flex-title">Total cash amongst players</div>
    <div class="flex-content">$192,012,299</div>
  </div>
  <div class="flex-info red">
    <div class="flex-title">Total bans issued</div>
    <div class="flex-content">12</div>
  </div>
</div>