如何使用 CSS 将 HTML 中的 div 元素内的图像垂直居中?

2024-01-22

我有一个这样的标记:

<div>
  <img />
</div>

div 高于 img:

div {
  height: 100px;
}

img {
  height: dynamic-value-smaller-than-100px;
}

我需要图像位于 div 的中间(其上方和下方具有相同数量的空白)。

我尝试了这个,但它不起作用:

div {
  vertical-align: middle;
}

如果您的图像纯粹是装饰性的,那么将其用作背景图像可能是一个更具语义的解决方案。然后您可以指定背景的位置

background-position: center center;

如果它不是装饰性的并且构成有价值的信息,那么 img 标签是合理的。在这种情况下,您需要做的是使用以下属性设置包含 div 的样式:

div{
    display: table-cell; vertical-align: middle 
}

在这里阅读有关此技术的更多信息 http://www.brunildo.org/test/img_center.html。据报告不适用于 IE6/7(适用于 IE8)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 CSS 将 HTML 中的 div 元素内的图像垂直居中? 的相关文章

  • 如果满足条件,则在另一个转换期间添加并发转换

    我试图在转换运行时添加一个新的转换 条件是如果 bar1 宽度与 bar2 匹配 则条形会更改位置 我使用了transition tween来查看是否满足条件 当第二个转换开始时 第一个转换停止 我希望第一个转换继续运行直到其持续时间结束
  • CSS mix-blend-mode 可以与转换一起使用吗?

    显然 mix blend mode 不能很好地配合transform translate and z index 将其中任何一个应用到某些文本元素将立即取消混合混合模式效果 问题 这是一个已知的限制吗 有没有基于 CSS 的解决方法 我知道
  • IE10、Opera 12 :: 不透明度:<1,display:inline 导致奇怪的裁剪

    在这个问题中 如果工作人员和社区不介意 我想解决不同浏览器的两个不同错误 尽管它们是在相同条件下发生的 当元素带有display inline and a box shadow 但这里设置更多是为了演示目的 得到opacity小于 1 那么
  • 如何防止移动浏览器调整文本大小

    如何使文本在移动设备上的显示方式与在桌面设备上的显示方式相同 浅粉色区域中的文本在桌面和移动设备上是相同的 这正是我在 推荐 部分 以及许多其他领域 需要实现的目标 谢谢 Desktop view Mobile view CSS testi
  • 使文本区域填充表格单元格

    我知道 SO 上也有类似的问题 但答案似乎对我不起作用 我的表格有一个填充多行的单元格 我希望文本区域填充整个单元格 我发现的代码不适用于高度 CSS textarea width 100 height 100 resize none we
  • 使用 javascript 暂停 CSS 动画并跳转到动画中的特定位置

    我有一个完全用CSS动画构建的无尽滑块 我希望能够使用javascript onlcick和键盘输入 来操纵动画 我希望能够从一帧快速运行动画 即加速到另一帧 以便在按下引用滑块中特定图像的按钮时产生跳跃效果 另外 我希望能够通过键盘输入逐
  • 在弹性行中使用“nowrap”时,避免将最后一个元素推离屏幕

    我需要在一行内渲染很长的文本 以及该行末端 屏幕的近端 的图像 给定一个很长的文本 我必须简单地截断它 该文本现在应该进入第二行 因为它太长了 请看我的代码 如何避免将漂亮的表情符号挤出屏幕 请考虑到右侧的元素可能是动态的 所以给出固定宽度
  • 分页后重新显示当前标题

    我正在使用 Wea syPrint 创建文档 我有一些带有名称的部分 其中一些可能跨越多个页面 当节太长时 就会出现分页符 我想做的是重新显示当前部分的名称 最好使用相同的格式 以下 MWE 显示了分页符后如何不显示节标题 h1 First
  • 浮动:中心不起作用?

    我正在使用教程制作我的第一个 Tumblr 主题 我对此完全是新手 metadata a display inline block float center margin left 2 我希望帖子居中 但唯一有效的是 float left
  • 隐藏加载失败的图片

    我有一个 Android 应用程序 它生成一些在本地 Webkit 视图中呈现的 HTML HTML 生成的细节实际上并不那么重要 除了 大部分来自一个地方 我无法改变它 HTML 周围的模板 包括页眉 页脚 HEAD 等 CSS 和 Ja
  • img设置flex-grow来填充flex容器剩余空间,它会导致flex内部溢出flex容器[重复]

    这个问题在这里已经有答案了 以下是我的代码 text1 溢出 Flex 容器 我期望 Flex 容器中的 img 文本和 img 填充 Flex 容器其余部分
  • 在引导汉堡包图标的左侧添加电话和地图图标

    我有一个基本的 bootstrap v3 网站 当导航栏在较小的屏幕上切换到汉堡包图标时 我想添加一个电话图标 链接到电话号码 和一个地图图标 链接到谷歌地图 以便移动用户可以轻松访问它们 我尝试通过在 navbar toggle 按钮之前
  • 竖线 (|) 是有效的 CSS 还是 Firefox 特定的?

    我注意到 Firebug 中的这条规则 link color 0000EE 我不确定我是否见过竖线 前 它位于 about PreferenceStyleSheet 中 因此它可能是 Firefox 特定的 这是什么意思 有参考链接吗 我以
  • 如何覆盖 CSS 模块文件中的全局 CSS?

    让我们说在我的global css我有一个 Next js 项目的文件 flex display flex justify content center align items center height 100 我也有一个Layout j
  • 缩放父元素但删除子元素的缩放

    我目前正在使用一些CSS动画scale 有没有办法限制子元素不缩放而只有父元素会缩放 scale max width 200px height 200px background color beige webkit transition t
  • 在 Twitter 引导流体布局中调整 iframe 大小的正确方法是什么?

    我有一个 2 列流体 Twitter 引导程序布局 并希望其中一个窗格中有一个 iframe 它将包含 Google 任务小部件 https mail google com tasks ig https mail google com ta
  • Flexbox 未将内容垂直居中

    所以我尝试使用 Flexbox 将我的名字放在屏幕中间 在浏览了许多教程之后 他们说我需要完成此操作的唯一代码是 div display flex flex direction column justify content center a
  • 没有 jQuery 的纯 CSS 工具提示[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用纯 CSS 创建 工具提示尾部 https stackoverflow com questions 5623072 how can i create a tooltip tail using
  • 如何用CSS让物体移动?

    我在页面中间并排设置了两个图像 对象 我希望它们彼此移动 就好像它们将要碰撞一样 并在它们放置在每个图像旁边时停止 因此 对于右侧的对象 我编写了以下代码 认为该对象应该从左向右移动 但结果与我的预期相去甚远 是否可以通过过渡来做到这一点
  • 使用 JS 从列表中删除最近的 元素的 URL

    所以我有一个网址列表 并且有删除按钮 图像按钮 当点击删除按钮时 按钮旁边的 url 必须从列表中删除 let list const remove document getElementById remove const view docu

随机推荐