水平和垂直居中DIV,没有固定高度

时间:2017-02-14 13:38:29

标签: html css

我希望内容垂直和水平居中,但它只能水平居中。问题是我没有固定的高度。 谢谢你们的帮助!

html,
body {
  height: 100% margin: 0;
  overflow: hidden;
}
.content {
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  display: flex;
  flex-direction: column;
  text-align: center;
}
<div class="content">
  <h1>Welcome to the website!</h1>
</div>

4 个答案:

答案 0 :(得分:2)

您可以通过这种方式轻松地将元素方面居中于父元素(假设父元素具有position: relative;)。

在你的例子中:

h1 {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

您也可以使用position: fixed;将其置于屏幕中央。

答案 1 :(得分:0)

请遵守此准则。

&#13;
&#13;
body{
  margin: 0;
  padding: 0;
}
.content-wrapper{
  background-color: #121212;
  display: block;
  left: 0;
  height: 100%;
  padding: 15px;
  position: fixed;
  top: 0;
  width: 100%;
}
.content{
  background-color: #f5f5f5;
  display: table;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: 100%;
}
.centent-cell{
  display: table-cell;
  height: 100%;
  vertical-align: middle;
  width: 100%;
 }
h1{
  color: #121212;
}
&#13;
<div class="content-wrapper">
  <div class="content">
<div class="centent-cell">
  <h1>Welcome to the website!</h1>
  </div>
</div>
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

以下是您需要的示例:

<section>
    <div class="centerize">
        <div class="v-center">
            <div class="box">Say my name!</div>
        </div>
    </div>
</section>

和CSS

section {
    height: 100vh;
    background: #fff;
}

.centerize {
    display: table;
    height: 100%;
    width: 100%;
 }

.v-center {
     display: table-cell;
     vertical-align: middle
 }

.box {
     background: #000;
     width: 10%;
     margin: 0 auto;
 }

答案 3 :(得分:0)

请遵循此代码

HTML

<body >
  <div class="content">
    <h1>Welcome to the website!</h1>
  </div>
</body>

CSS

html,body {
   height : 100%;
   width : 100%;
}
.content {
   height : 100%;
   width : 100%;
   display: table;
}
h1 {
   text-align: center;
   display: table-cell;
   vertical-align: middle;
}