html - 在所有屏幕分辨率下将 div 置于背景图像中间

标签 html css

我正在使用这段代码来显示占据浏览器整个垂直高度的背景图像。

<div id="outer"></div>

CSS

#outer {
  background-image: url(https://www.mydomain./image.jpg);
  height: 100vh;
  background-size: cover;
  background-repeat: no-repeat;
}

我希望在内部放置一个 div,对于所有屏幕分辨率,它在图像中间垂直和水平居中。

到目前为止,我所做的一切都没有成功。这需要大多数浏览器支持。

最佳答案

设置内部divheightwidth,然后使用margin: auto水平居中, 和 padding: calc(50vh - 10px) 0 垂直居中。 10px 必须是内部 div 高度的一半。试试这个:

#outer {
  background-image: url('http://placehold.it/100x100');
  height: 100vh;
  background-size: cover;
  background-repeat: no-repeat;
}
#inner {
  color: red;
  width: 100px;
  height: 20px;
  margin: auto;
  text-align: center;
  padding: calc(50vh - 10px) 0;
}
<div id="outer">
  <div id="inner">test</div>
</div>

关于html - 在所有屏幕分辨率下将 div 置于背景图像中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39191033/

相关文章:

html - 高度为 :1px appears very thicker in internet explorer 6. 的 div 如何减小它?

css - Bootstrap Modal 弹出窗口显示在 html/css 中单击后退按钮

Icecast 是否支持 HTML5 AUDIO 标签?

Javascript简单的滚动功能问题

css - WordPress 短代码无法正常工作

javascript - 将本地存储数据填充到 HTML 表?

html - Angular/ng-bootstrap - 旋转木马箭头定制

html - 仅使用一个类使用多个 css 类

javascript - 根据内容调整 div 的大小

java - 如何在 HTML 中将任意文本水平和垂直居中放置在图像上?