CSS中图片文字垂直对齐怎么做,不对齐如何解决
Admin 2022-07-09 群英技术资讯 1440 次浏览
今天就跟大家聊聊有关“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实现android系统的loading加载动画,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
这篇文章主要介绍了html5利用canvas实现颜色容差抠图功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
本篇文章讲述的是“CSS布局控制换行的四种属性”内容,下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
flex-basis定义了元素在分配剩余空间之前的默认大小。默认值是auto,即自动。如果有设置width,占用空间就是width。如果没有设置,按照内容宽度。若同时设置width和flex-basis,则在渲染性能方面,将忽略width。
用css怎样做类似淘宝页面留白的效果?页面留白的效果就是当我们在缩小浏览器页面的时候,内容部分不缩小,留白部分缩小,就像淘宝页面一样,当然这个效果很多网站都可以实现,接下来我们就来看看这是怎样实现的。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008