CSS中图片文字垂直对齐怎么做,不对齐如何解决
Admin 2022-07-09 群英技术资讯 844 次浏览
前言
可能很多人一开始学前端时都会觉得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中px的理解:1、px是pixel的缩写,是像素单位,也是影像显示的基本单位。2、px是CSS中相对长度的单位,相对于屏幕显示器的分辨率而言的。
网页开发中DIV与SPAN的使用是怎样,有什么不同?在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
flex布局下图片不变形的方法是什么?一些朋友可能对flex布局比较熟悉,因为flex布局是比较常用的一个布局方式,虽然flex布局很好用,但是在使用flex布局也会存在一些问题,例如导致图片变形的情况,那么我们怎样才能让flex布局下的图片不变形的呢?下面给大家分享一个示例。
这篇文章主要介绍了CSS中的4种引入方式及优先级,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008