如何在不使用margin属性的情况下将内容置于div中

时间:2016-05-09 05:50:08

标签: javascript jquery css

我有一个容器,我将在其中动态获取内容。我希望所有即将到来的内容/ div自动居中。 我不想使用保证金属性。

<div class="linContainer">

   <div class="content1"></div>
   <div class="content2"></div>

</div>

8 个答案:

答案 0 :(得分:3)

要垂直和水平居中,您可以将默认displayblock更改为table-cell

Fiddle

答案 1 :(得分:0)

你可以这样做:

.linContainer {
    text-align: center;
}

请注意,所有内容都将居中(包括文字)。或者你想只以div为中心?

答案 2 :(得分:0)

试试这段代码

.lincontainer {
display: flex;
justify-content: center;
}

答案 3 :(得分:0)

不确定text-align:center是否符合此目的。

 .linContainer{
  width:150px;
  height:auto;
  text-align:center;
  border:1px solid red;
  max-height:200px;
}

您可以查看jsfiddle

答案 4 :(得分:0)

.container {
    width: 100%;
    height: 120px;
    background: #ccc;
    text-align : center;
}

.centered-content {
    display: inline-block;
    background: #fff;
    padding : 20px;
    border : 1px solid #000;
}

<div class="container">
    <div class="centered-content">
        Center this!
   </div>
</div>

答案 5 :(得分:0)

您可以使用以下position: absolute成语:

&#13;
&#13;
.linContainer {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

[class^='content'] {
  height: 50px;
  width: 50px;
  background: cyan;
  border: 1px solid black;
}
&#13;
<div class="linContainer">

   <div class="content1"></div>
   <div class="content2"></div>

</div>
&#13;
&#13;
&#13;

或者您可以使用flexbox - display: flex

&#13;
&#13;
.linContainer {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
}

[class^='content'] {
  height: 50px;
  width: 50px;
  background: cyan;
  border: 1px solid black;
}
&#13;
<div class="linContainer">

   <div class="content1"></div>
   <div class="content2"></div>

</div>
&#13;
&#13;
&#13;

关于以CSS为中心的良好参考:

答案 6 :(得分:0)

实现这一目标的最佳方法是使用css flex。

注意:仅使用边距来定义内容块之间的空间,而不是将其居中。

.flex-container {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: row;
	flex-wrap: wrap;
	flex-flow: row wrap;
	align-content: flex-end;
}

  .linContainer{
   background:#aeaeae;
   }

.content1, .content2, .content3, .content4{
  background:lawngreen;
  padding:20px;
  margin:10px;
  
  }
<div class="linContainer flex-container">

   <div class="content1"></div>
   <div class="content2"></div>
   <div class="content3"></div>
   <div class="content4"></div>

</div>

答案 7 :(得分:0)

<div class="align">
     Test
</div>


div.align {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 200px;
    height: 200px;
    background-color:#ff6a00;
}