html - 如何将框中的图像准确居中对齐(垂直和水平)

标签 html css

在我的网页部分,我使用了一个图标库。我在 div 中插入图像/图标并通过 css 管理对齐中心(垂直和水平)。但我发现我的图像在我的 div 中垂直对齐中心而不是准确的中心。查看我的代码和 CSS。

CSS

#main {
width: 170px;
height: 300px;
border: 1px solid #c3c3c3;
display: -webkit-flex;
display: flex;
align-items: flex-start;
}

#main div{
width: 70px;
height: 70px;
align-self: center;
background:red;
}

html

<div id="main">
  <div></div>
</div>

查看我的 Example

如何在 body 或 div 中准确居中对齐我的图像?

最佳答案

您可以使用align-items: centerjustify-content: center

#main {
  width: 170px;
  height: 300px;
  border: 1px solid #c3c3c3;
  display: flex;
  align-items: center;
  justify-content: center;
}
#main div {
  width: 70px;
  height: 70px;
  background: red;
}
<div id="main">
  <div></div>
</div>

如果您在 #main 中有一些其他元素,但您希望 div 垂直和水平居中,您可以从元素中删除 div使用 position: absolute 流动并使用 transform: translate()

#main {
  width: 170px;
  height: 300px;
  border: 1px solid #c3c3c3;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
#main div,
span {
  width: 70px;
  height: 70px;
  background: red;
}
span {
  align-self: flex-start;
  background: green;
}
#main div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
<div id="main">
  <span></span>
  <div></div>
</div>

关于html - 如何将框中的图像准确居中对齐(垂直和水平),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37587409/

相关文章:

javascript - 单击幻灯片有效,但自动运行仍在运行

css - 在父级中排列 div - 将右 div 对齐到顶部

css - 限制 LESS Css 变量的范围

javascript - HTML to canvas 的性能问题,从哪里开始?

html - Google Page Speed - 这些信息是什么意思?

javascript - 如何在 jQuery 中比较 Div 的值

php - 使用 bootstrap 创建横跨屏幕宽度的行

javascript - 为什么我的函数不是函数?

css - 使用 CSS 定位工具提示

javascript - 将背景纹理与居中的 div 相匹配