CSS实现文本对齐图片的方法有什么?
Admin 2021-12-28 群英技术资讯 1325 次浏览
在网站中我们常常能看到文本对齐图片的效果,但是对于两个行内元素的对齐,很多朋友尝试之后,发现居中对齐过程和实际实现的效果存在偏差,对此这篇文章就给大家来分享几个文本居中对齐图片的方式,有需要的朋友可以参考。
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;
}
未使用对齐方式的效果如下:
默认的对齐方式是 baseline ,也就是x字母的最下面那条线。
这也就回答了第一个问题,浏览器的图片跟文字未额外设置时是基于小写字母x的下边缘为基准,也就是 vertical-align:baseline; 。
常见的几种居中方案
1、使用 vertical-align 居中对齐方式
.wrap {
vertical-align: middle;
}
.wrap img {
vertical-align: middle;
}
当我们使用常用的 vertical-align 对齐文本和图片时,其实也是有一定的偏差的,如下图:
vertical-align 的middle值实际上是相对于小写字母x的一半高度来说的,所以图片会跟x的中间开始对齐,但是其他字符譬如S、中文,就会发现无论如何都会出现稍许偏差,图片会相对而言偏下。
2、使用 vertical-align 同时使用span包裹文本
让我们再稍做改变,将文本部分使用span标签包裹,并且对span使用 vertical-align: middle; 样式对齐。会发现此时图片会上移少许。效果如下:

3、使用flex布局
display: flex; align-items: center;

不过就算是flex布局,有时候也会出现一点儿偏差,比如:图片尺寸为偶数、字体font-size为偶数,line-height为偶数时对齐;奇数时偏上1px。
具体参考可查看 iconSize 、 fontSize 和 lineHeight 之间奇偶关系 对齐误差
4、使用ex单位
这种方式是从张鑫旭老师的《css世界》中看到的,ex就是小写字母x的高度,可以用在不受字体和字号影响的内联元素的垂直居中对齐效果,PS:不过这种适用于图标高度跟文字一致,比如字符后面加一个箭头(点击展开)的情况,就很实用。
.wrap img {
height: 1ex;
}
5、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中文本对齐图片的方法介绍,上述示例具有一定的借鉴价值,有需要的朋友可以参考学习,希望对大家学习css的使用有帮助,想要了解更多可以继续浏览群英网络其他相关的文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
css设置单词内字母的间距的方法新建一个html文件,命名为test.html,用于讲解css如何调整英文字母之间的距离。在test.html文件内,使用p标签创建一行文字,用于测试。给p标签添加&l
CSS中定位类型有哪些?CSS中定位有四种在不同的场景下有不同的作用,包括relative相对定位,absolute绝对定位,fixed固定定位和static静态定位,这里主要讲前三种,因为static静态定位应用不多,这里就不介绍了。那么感兴趣的朋友就继续往下看吧。
一、CSSSprites简介通常被意译为“CSS图像拼合”或“CSS贴图定位”。CSSSprites并不是一门新技术,目前它已经在网页开发中发展得较为成熟,CSSSprites并不是什么金科玉律,但在很多情况下,它有着一定的优势,最重要的是它可以减轻服务器的负载,提高网页加载速度。CSSSprites允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载
在css中,可以利用border属性去掉表格的内边框颜色,只需要将单元格的边框颜色设置为透明色即可,当border属性的值为transparent时,元素的边框颜色会为透明色,语法为“单元格元素{border:transparent;}”。
这篇文章给大家分享的是CSS中float属性的相关内容。对于CSS中float属性的使用,有一些朋友是存在疑惑的,下文给大家很详细的介绍了float属性,而且通俗好理解,对大家学习和理解都有帮助,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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