试图在包装器的中间将每组2个div分别居中

时间:2017-06-05 10:15:28

标签: html css

我有四个div(所有相同的大小)我已将它们分组为2个块,其中类SELECT (COUNT(*)) AS `count` FROM questions Questions LEFT JOIN question_trans Questions_summary_translation ON (Questions_summary_translation.model = 'Questions' AND Questions_summary_translation.field = 'summary' AND Questions_summary_translation.locale = 'es' AND Questions.id = (Questions_summary_translation.foreign_key)) WHERE (Questions.enabled = 1); 都包含在内部容器blocka中,所有块都浮动到左侧,所以当我的页面宽度变化,这些块(2个)彼此对齐。 我现在想要的是那些div正好位于body-content容器的中间位置。

一切反应良好。所有我需要的是,main课程位于body content的中间,而main都位于blocka

的中间

body-content
.main {
  max-width: 100%;
  margin-left: 240px;
  background-color: ;
}

.body-content {
  background-color: white;
  margin: 0 auto;
  width: 95%;
  padding: 15px;
  border: 1px solid grey;
  height: 100px;
}

.blocka {
  float: left;
  margin: 0 auto;
}

4 个答案:

答案 0 :(得分:2)

尝试以下方法:

.main {
  max-width: 100%;
  background-color: ;
  text-align: center;
}

.body-content {
  background-color: white;
  margin: 0 auto;
  width: 95%;
  padding: 15px;
  border: 1px solid grey;
  height: 100px;
}

.blocka {
  margin: 0 auto;
  display: inline-block;
}
<div class="main">
  <div class="body-content">
    <div class="blocka">
      <div class="body-content-items">Add All</div>
      <div class="body-content-items">Add All</div>
    </div>
    <div class="blocka">
      <div class="body-content-items">Add All</div>
      <div class="body-content-items">Add All</div>
    </div>
  </div>
</div>

答案 1 :(得分:2)

你考虑过flexbox吗?

body {
  margin: 0;
}

.body-content {
  display: flex;
  min-height: 100vh;
  justify-content: center;
  align-items: center;
}

.blocka {
  display: flex;
  flex-direction: column;
}

.body-content-items {
  min-width: 35vw;
  min-height: 35vh;
  margin: 5px;
  background-color: #f5f5f5;
  padding: 1rem;
  box-sizing: border-box;
}
<div class="main">
  <div class="body-content">
    <div class="blocka">
      <div class="body-content-items">Add All</div>
      <div class="body-content-items">Add All</div>
    </div>
    <div class="blocka">
      <div class="body-content-items">Add All</div>
      <div class="body-content-items">Add All</div>
    </div>
  </div>

随意为项目设置固定大小(而不是35vw/35vh)。我只是向你展示它是可能的。改变它们的大小将使它们居中。

答案 2 :(得分:2)

此实例中的正文内容是容器..正文内部的任何内容都将按照定义进行弯曲。

.body-content{    
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    flex-direction: column
}

.blocka {
    flex:1
}

答案 3 :(得分:1)

我真的不明白所以请澄清。

在这里,body-content位于main的中间,而blocka位于body-content的中间。你没有说main的位置在哪里,所以我把它放在了右边。

颜色用于可视化,我缩小body-content的宽度以查看其背后的main

&#13;
&#13;
.main {
  max-width: 80%;
  margin: 0 auto;
  background-color: red;
}

.body-content {
  background-color: blue;
  margin: 0 auto;
  width: 50%;
  padding: 15px;
  border: 1px solid grey;
  height: 100px;
  text-align:center;
}
&#13;
<div class="main">

  <div class="body-content">
    <div class="blocka">
      <div class="body-content-items">Add All</div>
      <div class="body-content-items">Add All</div>
    </div>
    <div class="blocka">
      <div class="body-content-items">Add All</div>
      <div class="body-content-items">Add All</div>
    </div>
  </div>
</div>
&#13;
&#13;
&#13;