图片三像素问题如何解决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;//设置为任意值都可以
}
来源:https://www.cnblogs.com/ldq678/category/1324993.html
图片三像素问题如何解决css的更多相关文章
- 解决CSS图片底部3像素问题总结
解决三像素问题的总结: 1.img标签的父标签增加font-size:0; 如.body{ font-size: 0; } 2.img标签增加display:block; img{display:bl ...
- nginx实现动态分离,解决css和js等图片加载问题
改帖专门为使用nginx,通过nginx把请求转发到web服务器再返回客户端的时候,解决css和js和图片加载不出来的问题. 如果没安装nginx,请访问一下地址进行安装 http://www.cnb ...
- div里嵌套了img底部会有白块问题和图片一像素问题解决
div里嵌套了img底部会有白块 因为img默认是按基线(baseline)对齐的.对比一下图片和右边的p, q, y等字母,你会发现这三个字母的“小尾巴”和图片下方的空白一样高.下面这张图中的黑线就 ...
- 用Delphi直接获取bmp图片的像素
用Delphi直接获取bmp图片的像素,并存储显示出.(此像素主要用在LED上显示).希望高手能给出代码啊!! function getImagePixels(f: string): Integer; ...
- 利用IIS部署WEB网站以及解决CSS/JS不能显示问题
利用IIS部署WEB网站以及解决CSS/JS不能显示问题 转载声明:http://blog.sina.com.cn/s/blog_a001e5980101b4kt.html vs中正常IIS发布网站后 ...
- WPF图片放大后模糊的解决方法
原文:WPF图片放大后模糊的解决方法 WPF中显示图片的方式很多,可以用Image控件来显示图像,或者直接设置一个控件的Background.图片的放大也很简单,直接设置显示图片的控件的Width和H ...
- python网络爬虫之解析网页的BeautifulSoup(爬取电影图片)[三]
目录 前言 一.BeautifulSoup的基本语法 二.爬取网页图片 扩展学习 后记 前言 本章同样是解析一个网页的结构信息 在上章内容中(python网络爬虫之解析网页的正则表达式(爬取4k动漫图 ...
- 根据判断PC浏览器类型和手机屏幕像素自动调用不同CSS的代码
1.媒体查询方法在 css 里面这样写 -------------------- @media screen and (min-width: 320px) and (max-width: 480px) ...
- 用canvas 实现个图片三角化(LOW POLY)效果
之前无意中看到Ovilia 用threejs做了个LOW POLY,也就是图片平面三角化的效果,觉得很惊艳,然后就自己花了点时间尝试了一下. 我是没怎么用过threejs,所以就直接用canvas的2 ...
- 怎么用一行代码解决CSS各种IE各种兼容问题
用一行代码来解决CSS在,IE6,IE7,IE8,IE9,IE10 中的各种兼容性问题. 在网站前端写代码的过程中,很多时间IE各个版本的兼容问题很难整.现在百度与谷歌都有了一行解决这种兼容性的代码了 ...
随机推荐
- 教你用ab命令进行并发与压力测试
摘要:今天给大家分享一篇如何使用ab进行并发与压力测试的文章 本文分享自华为云社区<[高并发]如何使用ab进行并发与压力测试?>,作者:冰 河. 今天给大家分享一篇如何使用ab进行并发与压 ...
- 一起玩转玩转LiteOS组件:Opus
摘要:Opus编码器是一个开源的有损声音编码格式,适用于网络实时声音传输,标准格式为RFC 6716,相对于其他编码格式来说,保真性更好. 本文分享自华为云社区<LiteOS组件尝鲜-玩转Opu ...
- ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found
[root@localhost PaddleOCR]# strings /lib64/libstdc++.so.6 | grep 'CXXABI' CXXABI_1.3 CXXABI_1.3.1 CX ...
- JPA 表名大小写问题
JPA 默认会将实体中的 TABLE_NAME 转成小写如 @Entity @Table(name = "EMPLOYEE") public class Employee { @I ...
- 使用 🤗 Transformers 优化文本转语音模型 Bark
Transformers 提供了许多最新最先进 (state-of-the-art, SoTA) 的模型,这些模型横跨多个领域及任务.为了使这些模型能以最佳性能运行,我们需要优化其推理速度及内存使用. ...
- 成为一个合格程序员所必备的三种常见LeetCode排序算法
排序算法是一种通过特定的算法因式将一组或多组数据按照既定模式进行重新排序的方法.通过排序,我们可以得到一个新的序列,该序列遵循一定的规则并展现出一定的规律.经过排序处理后的数据可以更方便地进行筛选和计 ...
- 【HZERO】分支管理
分支管理 分支类型 feature-[任务编号]-简单描述: 任务开发分支,针对迭代子任务建立的开发分支 bugfix :修复分支,用于缺陷修复. develop:开发分支,所有开发人员都可以提交代码 ...
- Educational Codeforces Round 92 (Rated for Div. 2) A~C
原作者为 RioTian@cnblogs, 本作品采用 CC 4.0 BY 进行许可,转载请注明出处. 最近写学习了一下网络爬虫,但昨天晚上的CF让人感觉实力明显退步,又滚回来刷题了QAQ... 比赛 ...
- IDEA插件Material Theme UI 激活
介绍 "Material Theme UI" 是一款为 IntelliJ IDEA 提供现代化材料设计主题的插件,通过重新设计IDE的外观,为开发人员带来更加美观.富有活力的用户体 ...
- 机器学习-线性分类-支持向量机SVM-合页损失-SVM输出概率值-16
目录 1. SVM概率化输出 2. 合页损失 1. SVM概率化输出 标准的SVM进行预测 输出的结果是: 是无法输出0-1之间的 正样本 发生的概率值 sigmoid-fitting 方法: 将标准 ...