CSS中图片文字垂直对齐怎么做,不对齐如何解决
Admin 2022-07-09 群英技术资讯 1902 次浏览
今天就跟大家聊聊有关“CSS中图片文字垂直对齐怎么做,不对齐如何解决”的内容,可能很多人都不太了解,为了让大家认识和更进一步的了解,小编给大家总结了以下内容,希望这篇“CSS中图片文字垂直对齐怎么做,不对齐如何解决”文章能对大家有帮助。前言
可能很多人一开始学前端时都会觉得CSS简单,没错,CSS没有语言逻辑,入门确实很简单,可要是想深入挖掘的话……嘿嘿,水可深着呢!
就比如说今天要跟大家分享的这个,表面上看可能觉得也没多大问题,但是就是这个不太起眼的“小玩意”,困扰了我很久……下面话不多说了,来一起看看详细的介绍吧。
接下来我们步入正题~~
比如说,现在我要做一个简单的删除按钮,只由一个icon和“删除”两个字组成,你会如何布局,给你30秒时间考虑。
好,先亮出HTML代码如下:
<div class="del"><span class="icon"></span><span>删除</span></div>
很简单,就是一个class为del的div元素下有两个span标签,当然icon你也可以直接用伪元素代替(还不知道伪元素的面壁思过去...)。
接下来你可能会这么写CSS:
.del{ font-size: 18px;}
.del .icon{ display: inline-block; width: 16px; height: 24px; margin-right: 5px;
background: url("imgs/delete.png") no-repeat center; background-size: 100%;}
然后它就变成这个样子了:

咦?好像跟想象的不太一样啊!为什么图片和文字垂直方向上不能对齐呢?Why?
这是因为图片和文字在行内垂直方向默认是以基线(baseline)对齐的,图片基线在图片底部,而文字基线却在文字中点偏下的位置,所以才会显示成上图的样子。那么这个问题该如何解决呢?
很简单,我们只需给图片和文字分别加上 vertical-align: middle即可:
.del .icon{ display: inline-block; width: 18px; height: 24px; margin-right: 5px;
vertical-align: middle; background: url("imgs/delete.png") no-repeat center; background-size: 100%;}
.del span{ vertical-align: middle;}
这样的话,图片和文字就以其中心线对齐了:

说到这里,其实本文基本已经结束了,但是经过本人亲测发现,在移动端却会发现图片和文字又会出现不对齐的情况了,但这只是部分浏览器出现的兼容性问题,解决方法也是有的,就是在设置文字字体大小和icon大小时尽量设置为5的整数倍,并尽量让icon高度与字体大小相同。那么本例的代码将写成下面这样:
.del{ font-size: 20px;}
.del .icon{ display: inline-block; width: 20px; height: 25px; margin-right: 5px;
vertical-align: middle; background: url("imgs/delete.png") no-repeat center; background-size: 100%;}
.del span{ vertical-align: middle;}
这样基本也没有什么问题了……
总结
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在开发中,很多需求需要我们对元素居中,例如文本居中,多行文本居中,块级元素水平居中、垂直居中等,那么这些要如何实现呢?下面是一些css实现元素居中的方法,有需要的朋友可以参考一下。
css Flexbox布局的介绍:1、Flexbox是flexiblebox的简称,是CSS3引进的新布局模式。2、决定了要素如何在页面上排列,可以在不同的画面尺寸和设备下预测地表现出来。
将js中的对象格式化,并打印在html中functionwriteHtml(name,obj){varobjStr=JSON.stringify(obj,null,4);varhtml=objStr.replace(/\n/g,'<br>').replace(/\s/g,'&nbsp');document.write(n
今天我们来了解用css怎样实现渐变色背景的加载动画效果,实现效果及实现代码如下,对大家学习css动画效果实现有一定的帮助,需要的朋友可以参考,接下来我们就一起学习一下吧。
本文通过实例代码给大家分享基于HTML通过表单实现酒店筛选功能,代码真的很简答,对大家学习html表单相关知识有很大的帮助,对html酒店筛选相关知识,感兴趣的朋友一起看看吧
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008