文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

css如何实现文本图标对齐

2023-06-08 04:37

关注

这篇文章主要介绍css如何实现文本图标对齐,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

开发中遇见图片跟文字放在一行显示是最常见不过的了,两个行内元素的对齐通常也是最令人头疼,有时候明明使用了最常用的对齐方法,却总还是有些许偏差,先来看一个最基本的示例:

html部分:

<div class="wrap">    <img src="https://avatars3.githubusercontent.com/u/16339041?s=60&v=4" alt="">    xx测试对齐Style-</div>

css部分:

.wrap {      width: 300px;      text-align: center;      margin: 20px auto;      font-size: 14px; } .wrap img {      width: 20px; }

未使用对齐方式的效果如下:

css如何实现文本图标对齐 

默认的对齐方式是 baseline ,也就是x字母的最下面那条线。

这也就回答了第一个问题,浏览器的图片跟文字未额外设置时是基于小写字母x的下边缘为基准,也就是 vertical-align:baseline;

常见的几种居中方案

使用 vertical-align 居中对齐方式

.wrap {    vertical-align: middle;    }.wrap img {    vertical-align: middle;}

当我们使用常用的 vertical-align 对齐文本和图片时,其实也是有一定的偏差的,如下图:

css如何实现文本图标对齐 

vertical-align 的middle值实际上是相对于小写字母x的一半高度来说的,所以图片会跟x的中间开始对齐,但是其他字符譬如S、中文,就会发现无论如何都会出现稍许偏差,图片会相对而言偏下。

使用 vertical-align 同时使用span包裹文本

让我们再稍做改变,将文本部分使用span标签包裹,并且对span使用 vertical-align: middle; 样式对齐。会发现此时图片会上移少许。效果如下:

css如何实现文本图标对齐

使用flex布局

display: flex;align-items: center;

css如何实现文本图标对齐

不过就算是flex布局,有时候也会出现一点儿偏差,比如:图片尺寸为偶数、字体font-size为偶数,line-height为偶数时对齐;奇数时偏上1px。

具体参考可查看 iconSizefontSizelineHeight 之间奇偶关系 对齐误差

使用ex单位

这种方式是从张鑫旭老师的《css世界》中看到的,ex就是小写字母x的高度,可以用在不受字体和字号影响的内联元素的垂直居中对齐效果,PS:不过这种适用于图标高度跟文字一致,比如字符后面加一个箭头(点击展开)的情况,就很实用。

.wrap img {    height: 1ex;}

vertical-align 数值方式的使用

同样也是在张鑫旭老师的《css世界》中看到的, vertical-align 属性值可以使用数值型和百分比值,

如,还是上面的基本案列:如果图片高度是20px,文字font-size为22p

x时,默认对齐是文字的基线,那么图片会偏上2px,这时只需要将图片向下偏移2px,就能实现对齐效果,而且 vertical-align 这个属性的数值型具有很好的兼容性。

.wrap {            width: 100%;            padding-top: 200px;            text-align: center;            margin: 20px auto;            font-size: 22px;            height: 40px;                    }        .wrap img {            width: 20px;            vertical-align: -2px;        }

以上是“css如何实现文本图标对齐”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯