html - 如何在页面上垂直居中一个div?

标签 html css

<分区>

如何让#box div 在页面上垂直居中?我试过 vertical-align: middle;但它不起作用。可以现场查看现场here

这是CSS:

iframe {
  position: fixed;  
  width: 100vw; 
  height: 100vh;  
  border: none; 
  margin: 0; 
  padding: 0; 
  overflow: hidden; 
  z-index: 999999;
}

body {
  background-color: #000;
}

#box {
  text-align: center;
  vertical-align: middle;
}

#link {
  color: #FFF;
}

#download {
  color: #FFF;
}

最佳答案

方法一(位置、变换-翻译):

* {
  padding: 0;
  margin: 0;
}
.parent {
  position: relative;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background-color: gray;
}
.child {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 10em;
  height: 5em;
  background-color: white;
  box-shadow: 1px 1px 10px rgba(0,0,0,.4);
}
<div class="parent">
  <div class="child"></div>
</div>

方法二( flex 盒子):

* {
  padding: 0;
  margin: 0;
}

.parent {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background-color: gray;
  display: flex;
}

.child {
  margin: auto;
  width: 10em;
  height: 5em;
  background-color: white;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, .4);
}
<div class="parent">
  <div class="child"></div>
</div>

关于html - 如何在页面上垂直居中一个div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42187838/

相关文章:

javascript - “悬停”下拉菜单到可点击的下拉菜单(通过媒体查询)

javascript - 在 .hta 应用程序中使用 JavaScript 修改 HTML 后不会更新

javascript - 我如何使用 jQuery 匹配仅具有特定属性而没有其他任何元素的元素?

html - Rails 可以呈现不带内联 CSS 的表单以获得更严格的内容安全策略吗?

css - 响应式 css div 不会彼此相邻

css - 使用 Flexbox 和媒体查询来设置 <ul> 的样式

jquery - Bootstrap 模式打开时如何防止背景滚动

javascript - 如何在页面上运行输入js

css - 为什么这个 CSS Translate3d 动画是 Janky?

javascript - 对齐和格式化动态添加到表格行的多个元素