如何在另一个div元素中使多个div元素水平居中?

时间:2019-04-27 23:25:32

标签: html css

我要使div元素位于同一行的中心。我希望在不使用固定边距的情况下完成此操作,因为一旦您调整它的大小或更改屏幕分辨率,该操作就不会起作用。

我尝试使用“ margin:0 auto”,但这似乎不起作用。我还尝试了几件不同的事情,但老实说,它们全都是我在黑暗中踢。

HTML:

  <div class="container div3">
    <div class="sredina">

    <div class="box">
      <img>
      <h3></h3>
      <p></p>
    </div>


    <div class="box">
      <img>
      <h3></h3>
      <p></p>
    </div>


    <div class="box">
      <img>
      <h3></h3>
      <p></p>
    </div>

</div>

CSS:

.box{
  text-align: center;
  width: 20%;
  border: 2px solid blue;
  margin: 1pt;
  float: left;}

.div3{
  text-align: center;}

.sredina{
  display: inline-block;
  margin: auto;
  border: 2px solid red;}

.container{
  width: 80%;
  margin: auto;
  overflow: hidden;
}

现在的样子: Here's what it is supposed to look like, and what I have now

我希望它看起来如何: An image of how it looks now

3 个答案:

答案 0 :(得分:1)

尝试将$("#add-submit").on("click", function(e) { alert("this is the form submission"); e.preventDefault(); $.ajax({ type: "POST", uri: "/user", contentType: "application/json", // data: JSON.parse(JSON.stringify($("#add-report-form").serializeArray())), data: JSON.stringify({data: "test"}), }).done(function(data) { alert("ajax call done!"); }); }); 用于flex

https://codepen.io/anon/pen/zXbxym

.sredina

答案 1 :(得分:1)

在容器内display: flex的div上使用justify-content: center.sredina

https://codepen.io/HappyHands31/pen/qwvEez

答案 2 :(得分:0)

尝试一下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .outer{
            background: #87ceeb;
            width: 100%;
            margin-left: auto;
            margin-right: auto;
            position: relative;
            text-align:center;
        }
        .inner{
            display: inline-block;
            min-height: 100px;
            height: 100px;
            background: chartreuse;
        }
    </style>
</head>
<body>
    <div class="outer">
        <div class="inner">hello</div>
        <div class="inner">hello</div>
        <div class="inner">hello</div>
    </div>
</body>
</html>

它在所有屏幕尺寸上均能正常工作。您必须使用

display: inline-block;

在内部div类中

然后使用

margin-left: auto;
margin-right: auto;
position: relative;
text-align:center;

在外部区域。

类似的答案是here