当前位置: 首页 > news >正文

flex布局无法设置图片icon和文本垂直居中对齐问题

项目场景:

需要实现下面的效果,即图标和文字垂直对齐。

在这里插入图片描述

问题描述

直接使用flex布局并设置垂直居中,发现并没有垂直对齐,图片明显偏上。

.wrapper {display: flex;align-items: center;
}.view-icon {height: 28px;width: 28px;margin-right: 6px;
}.view-text {font-size:24px;color: #999999;
}

原因分析:

其实图片和文字都是居中了的,只是这个图片本身是有上下边距的,也就是图片里的内容并不是撑满图片的。
在这里插入图片描述
如果我们改为一张没有上下留白的图片,发现是对齐的。
在这里插入图片描述
但是图片一般是UI给的,我们只能用包含上下留白的图标图片。


解决方案:

既然使用flex的垂直居中,会有问题,那么我们就使用行内元素的vertical-align属性来实现。

注意:如果父元素是flex布局,那么子元素设置vertical-align是不会生效的。

在这里插入图片描述
可以看到,图片的vertical-align默认为baseline,也就是小写"x"的底部,因为图片自身存在的空白区域,导致图片实际显示偏上,
给图片设置样式,让图片整体偏下一点。

 font-size: 28px;vertical-align: -0.2em;

这里的-0.2em根据图片实际留白高度尝试设置合适的值。
在这里插入图片描述
完整代码:

<template><div class="wrapper"><img src="../assets/view.png" alt="" class="view-icon"><span class="view-text">99+人看过x</span></div>
</template><script setup></script><style scoped>
.view-icon {height: 28px;width: 28px;margin-right: 6px;font-size: 28px;vertical-align: -0.2em;
}.view-text {font-size:24px;color: #999999;
}
</style>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 新手必备:macOS上用Homebrew轻松安装MySQL
  • 程序员如何高效读代码?
  • android 彩虹进度条自定义view实现
  • 软考高级论文真题“论大数据lambda架构”
  • express+vue在线im实现【三】
  • docker的隔离机制
  • 2024全国高校名单发布,电子版下载!
  • 安装Cmakeffmpeglibssh
  • 【设计模式深度剖析】【11】【行为型】【解释器模式】| 以算术表达式求值为例加深理解
  • 【雪花算法】
  • SpringBoot使用spring.factories加载默认配置
  • Python+Pytest+Yaml+Request+Allure接口自动化测试框架详解
  • HTTP网络协议
  • Esxi上创建windows 11虚拟机
  • 一个关于空格的Sql Server面试题
  • 《Java编程思想》读书笔记-对象导论
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • CSS中外联样式表代表的含义
  • django开发-定时任务的使用
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JAVA之继承和多态
  • Laravel 实践之路: 数据库迁移与数据填充
  • PHP 7 修改了什么呢 -- 2
  • Shell编程
  • web标准化(下)
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 服务器之间,相同帐号,实现免密钥登录
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 类orAPI - 收藏集 - 掘金
  • 盘点那些不知名却常用的 Git 操作
  • 入口文件开始,分析Vue源码实现
  • 实现菜单下拉伸展折叠效果demo
  • 实现简单的正则表达式引擎
  • 算法-图和图算法
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 写代码的正确姿势
  • 延迟脚本的方式
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • AI算硅基生命吗,为什么?
  • 从如何停掉 Promise 链说起
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • ​马来语翻译中文去哪比较好?
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • ###C语言程序设计-----C语言学习(6)#
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (145)光线追踪距离场柔和阴影
  • (26)4.7 字符函数和字符串函数
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (LLM) 很笨
  • (备份) esp32 GPIO
  • (二)原生js案例之数码时钟计时
  • (附源码)php投票系统 毕业设计 121500
  • (算法设计与分析)第一章算法概述-习题