You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何实现文本与图片完美居中对齐?附代码求助

实现图片与文本完美垂直居中对齐的解决方案

嘿,我来帮你搞定图片和文本的垂直居中对齐问题!咱们从结构和样式两方面调整,保证效果精准到位:

第一步:修正HTML结构

原来的<div>直接包裹<li>不符合HTML语义规范,咱们换成<ul>,同时给图片加上alt属性增强可读性:

<body>
  <ul class="box3">
    <li>
      <img src="pictures/contact/skype.png" width="34px" height="34px" alt="Skype icon" />
      <span>Skype name</span>
    </li>
    <li>
      <img src="pictures/contact/gadu-gadu.png" width="34px" height="34px" alt="Gadu-Gadu icon" />
      <span>Gadu-Gadu number</span>
    </li>
    <li>
      <img src="pictures/contact/email.png" width="34px" height="34px" alt="Email icon" />
      <span>Email address</span>
    </li>
  </ul>
</body>

第二步:优化CSS样式

用Flex布局轻松实现垂直居中,同时调整细节让布局更规整:

body {
  left: 8%;
  top: 10%;
  position: absolute;
  background-color: #6699cc;
  margin: 0; /* 清除默认边距 */
}

.box3 {
  background-color: #191919;
  padding: 15px 40px;
  font-size: 12px;
  color: #DDDDDD;
  font-family: Verdana;
  width: 400px;
  list-style: none; /* 去掉默认列表符号 */
  margin: 0;
  padding-left: 0; /* 清除默认内边距 */
}

.box3 > li {
  display: flex; /* 启用Flex布局 */
  align-items: center; /* 垂直方向居中对齐 */
  gap: 12px; /* 图片与文本之间添加间距,提升美观度 */
  margin-bottom: 10px; /* 列表项之间添加间距 */
}

.box3 > li:last-child {
  margin-bottom: 0; /* 最后一项去掉底部间距 */
}

.box3 > li img {
  flex-shrink: 0; /* 防止图片被压缩变形 */
}

效果说明

  • <ul>代替<div>包裹列表项,符合HTML语义规范,避免潜在的样式冲突
  • Flex布局的align-items: center是实现垂直居中最可靠的方式,比vertical-align适配性更强
  • 新增的间距让整体布局更宽松舒适,视觉体验更好

这样调整后,每个文本都会和对应的图片完美居中对齐啦!

内容的提问来源于stack exchange,提问作者user13371526

火山引擎 最新活动