图片三像素问题如何解决css

简介: 图片三像素问题如何解决css

一、提出问题


在浏览器中,图片有一个下间隙问题,有人也称之为图片3像素BUG


1.这并不是什么浏览器bug,而只是英文字母书写时有个基线的问题,基线决定了图片的对其方式。这才是造成浏览器中图片下间隙的本质。


那么,什么是基线?


我们小时候学英文,


一开始都是用的四线本写英文字母,就是那个长的跟五线谱一样的本,4条线。其中第3条线就是基线,此线是绝大多数比较矮的字母的脚部对齐的线。


比如a、z、x,这些短小一点的字母,它们的是以第3条线作为字母底部的对齐线的。


但有的字母比较“高大”,比如g,y,它们的尾巴就会伸到第4条线上。


同理,在网页上显示字符,也有一个基线存在,并且这个基线也是以英文4线普的对齐理论来对齐的


2.这个下间隙也并不是固定的3像素,而是变化的。  


知道了基线的概念,我们就知道了,像“g”这样比较高的字母,它探出基线之下的内容占多少像素,其实是跟当前元素设置的字号大小有关的。


而图片在网页中默认的展示样式是inline-block的,所以它的对齐方式就跟文本一样,要跟基线对齐,这样就产生了图片与容器的下间隙。


由于浏览器默认文字的字号是14px(有的是默认16px),所以就造成了默认的3像素的下间隙。


但其实我们已经知道了,如果当前容器设置的字号远远大于16px,那么这个下间隙将大于3像素。


二、解决办法


去除图片下间隙的办法有很多,常用的有3种


(1)设置父盒子字号为0  比如:

.box{
   font-size: 0;  
}

(2)改变图片的display 


.box img{
   display: block;  
}


3)给图片设置垂直对齐方式


.box img{
   virtical-align: middle;//设置为任意值都可以  
}
相关文章
|
11天前
|
前端开发 开发者 UED
设备像素、css像素、设备独立像素、dpr、ppi之间的区别
【10月更文挑战第24天】在实际应用中,这些概念相互关联,共同影响着网页在不同设备上的显示表现。开发者需要了解它们之间的区别和关系,以便更好地进行网页设计和优化,确保在各种设备上都能提供良好的用户体验。
|
24天前
|
前端开发 UED
Webpack 中处理 CSS 和图片资源的多 Loader 配置
【10月更文挑战第12天】 处理 CSS 和图片资源是 Webpack 配置中的重要部分。通过合理选择和配置多个 Loader,可以实现对这些资源的精细处理和优化,提升项目的性能和用户体验。在实际应用中,需要不断探索和实践,根据项目的具体情况进行灵活调整和优化,以达到最佳的处理效果。通过对 Webpack 中多 Loader 处理 CSS 和图片资源的深入了解和掌握,你将能够更好地应对各种复杂的资源处理需求,为项目的成功构建和运行提供坚实的基础。
51 1
|
3月前
|
前端开发
如何使用 CSS object-fit 进行图片的缩放和裁剪
如何使用 CSS object-fit 进行图片的缩放和裁剪
83 0
如何使用 CSS object-fit 进行图片的缩放和裁剪
|
3月前
|
前端开发
视觉冲击:CSS实现相册图片的放大效果,让网站首页更震撼!
视觉冲击:CSS实现相册图片的放大效果,让网站首页更震撼!
|
4月前
|
前端开发 容器
CSS【详解】对齐 (含文本垂直对齐,文本水平对齐、单行文本垂直居中、多行文本垂直居中、6 种方案块级元素水平垂直居中 、7 种方案图片水平垂直居中、文本自适应对齐、图标和文本对齐,图片和文本对齐等)
CSS【详解】对齐 (含文本垂直对齐,文本水平对齐、单行文本垂直居中、多行文本垂直居中、6 种方案块级元素水平垂直居中 、7 种方案图片水平垂直居中、文本自适应对齐、图标和文本对齐,图片和文本对齐等)
67 0
|
4月前
|
前端开发 C++
css 鼠标悬浮显示放大图片 vs 鼠标点击显示放大图片
css 鼠标悬浮显示放大图片 vs 鼠标点击显示放大图片
48 0
|
4月前
|
前端开发 UED
前端 CSS 经典:在 Vue3 中使用渐进式图片
前端 CSS 经典:在 Vue3 中使用渐进式图片
109 0
|
4月前
|
前端开发
前端 CSS 经典:图片边框
前端 CSS 经典:图片边框
35 0
|
4月前
|
前端开发 容器
css 【详解】—— 图片底部留有间隙(含解决方案)
css 【详解】—— 图片底部留有间隙(含解决方案)
124 0
|
4月前
|
Web App开发 前端开发
css小技巧——鼠标悬浮时切换图片
css小技巧——鼠标悬浮时切换图片
368 0