3 Div在Div内居中等宽度(Clean without Floats)

时间:2018-05-20 21:09:44

标签: html css

我知道这可以很容易地通过花车实现,但我试图摆脱这种做法。如何使用#include <stdio.h> #include <string.h> #include <stdlib.h> int main(){ char line[] = "1999-08-01,14.547,0.191,United Kingdom"; char* newline = malloc(strlen(line) + 2); strcpy(newline, line); newline[strlen(newline)] = '\n'; newline[strlen(newline)] = '\0'; unsigned int year, month, day; float temp, uncertainty; char name[100]; sscanf(line, "%u - %u - %u, %f , %f , %[^\n]", &year, &month, &day, &temp, &uncertainty, name); printf("%u-%u-%u,%lf,%lf,%s\n", year, month, day, temp, uncertainty, name); } 而不是浮点数来实现相同的结果?

以下是display: inline-block;的一些代码: https://jsfiddle.net/hg7wx64k/

以下是inline-block的一些代码: https://jsfiddle.net/hg7wx64k/

&#13;
&#13;
floats
&#13;
#content-container {
  width: 100%;
  height: 100%;
  text-align: center;
  margin: 0 50px 0 50px;
}

#box1 {
  display: inline-block;
  height: 100%;
  width: 30%;
  background-color: orange;
}

#box2 {
  display: inline-block;
  height: 100%;
  width: 30%;
  background-color: blue;
}

#box3 {
  display: inline-block;
  height: 100%;
  width: 30%;
  background-color: yellow;
}
&#13;
&#13;
&#13;

以下是3个方框的屏幕截图,我希望两边都有相同的边距。我想过只需手动设置边距,但我不知道这是否是最干净的解决方案。我能做很多事情,但我努力让自己的工作变得更加干净。同样,这个项目我不会使用Bootstrap的网格系统,所以请不要就此提出建议。

只是寻找你们认为最有组织和最有效的方法。

enter image description here

2 个答案:

答案 0 :(得分:0)

如果您想考虑inline-block,则无需指定保证金。您只需设置宽度并使元素居中。

#content-container {
  text-align: center;
  font-size:0;
}
#content-container > div {
  display: inline-block;
  height: 100px;
  width: 30%;
  font-size:initial;
  animation:anime 2s infinite linear alternate;
}


#box1 {
  background-color: orange;
}

#box2 {
  background-color: blue;
}

#box3 {
  background-color: yellow;
}

@keyframes anime {
  from {
    width:30%;
  }
  to {
    width:20%;
  }

}
<div id="content-container" class="container">
  <div id="box1">
    <h1>Box 1</h1>
  </div>
  <div id="box2">
    <h1>Box 2</h1>
  </div>
  <div id="box3">
    <h1>Box 3</h1>
  </div>
</div>

但是如果你想控制边距和宽度自动设置,可以考虑使用这样的flexbox:

#content-container {
  padding: 0 50px; /*To control the space*/
  display: flex;
  animation: anime 2s infinite linear alternate;
}

#content-container>div {
  flex: 1; /*Make the 3 divs the same width and fill the space*/
  text-align: center;
}

#box1 {
  background-color: orange;
}

#box2 {
  background-color: blue;
}

#box3 {
  background-color: yellow;
}

@keyframes anime {
  from {
    padding: 0 50px;
  }
  to {
    padding: 0 100px;
  }
}
<div id="content-container" class="container">
  <div id="box1">
    <h1>Box 1</h1>
  </div>
  <div id="box2">
    <h1>Box 2</h1>
  </div>
  <div id="box3">
    <h1>Box 3</h1>
  </div>
</div>

答案 1 :(得分:-1)

在容器上使用display flex。这是调整事物的现代方式。

Read more on flexbox

&#13;
&#13;
#content-container {
  width: 100%;
  height: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
}

 #box1 {
  height: 100%;
  width: 30%;
  background-color: orange;
}

 #box2 {
  height: 100%;
  width: 30%;
  background-color: blue;
}

 #box3 {
  height: 100%;
  width: 30%;
  background-color: yellow;
}
&#13;
      <div id="content-container" class="container">
        <div id="box1">
        <h1>Box 1</h1>
        </div>
        <div id="box2">
          <h1>Box 2</h1>
        </div>
        <div id="box3">
          <h1>Box 3</h1>
        </div>
      </div>
&#13;
&#13;
&#13;