图片去除下间隙(图片3像素)的方法

  一、提出问题

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

,这是放大过的效果。我们可以清晰的看到,图片明显没有跟文字的最底部对齐,比如字母g,就比图片的底部更下探出一截。

  这里需要澄清一下:

  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/p/9874070.html

时间: 2024-10-16 10:14:04

图片去除下间隙(图片3像素)的方法的相关文章

图片下间隙问题

1.问题描述 图片和文字在一个盒子中显示时,图片和文字不会在底部对齐(图片大小190*150) 2.分析 图片的对齐方式是按照基线对齐的,而文字确实按照底部对齐 解决图片下间隙方法 1.设置元素在垂直方向上对齐 <head> <style> img { vertical-align: bottom; } </style> </head> <body> <div> abcdefg <img src="./1.jpg&qu

android 通过bitmapfactory得到图片真实像素的方法,以及没有得到真实像素的原因

原文来自:原文地址 由于这个错误导致浪费非常长时间找原因,所以要赶紧记录下来. 过程是这种,在使用android读取图片的时候,就是使用BitmapFactory.decodeResource(this.getResources(),R.drawable.base)的时候 返回的图片大小和真实图片大小不一样有木有,比方图片是700*450的, 但读出来是525*337的.假设有遇到过此类情况,请往下看 这个错误,仅仅能怪咱们学艺不精,原因就是你没在对应的资源目录里放图片就是 (drawable-

安卓开发之Kotlin和java双实现仿qq空间下拉图片拉伸

先不扯淡看今天要实现的效果: 话说使用Kotlin实现安卓功能,那我们还是要做一点准备工作,so,你得加一点插件到eclipse或android studio.然并卵,你现在还在使用eclipse开发的话我只能提供地址Kotlin Plugin for Eclipse,然后我使用的还是死丢丢. 死丢丢(android studio)集成kotlin安卓开发 要使用android studio开发kotlin的安卓app,那么你必须有开发kotlin的环境: Kotlin插件.打开Android

ueditor样式过滤去除和远程图片上传自定义

ueditor自定义编辑的时候,比如需要做延迟加载,这个时候需要自定义图片等,但是,ueditor会去除img上面的属性,比如data-original和把远程图片自动上传. 这个时候,首先,需要给图片自动上传加上属性,不如对于jquery.lazyload延迟加载的图片,必定带有data-original属性,只要检测出此属性,就不远程上传.其它属性自定义提那家,代码如下: 'wordimage':{ execCommand:function () { var images = domUtil

Android下将图片载入到内存中

Android的系统的标准默认每一个应用程序分配的内存是16M.所以来说是很宝贵的,在创建应用的时候要尽可能的去节省内存,可是在载入一些大的文件的时候,比方图片是相当耗内存的,一个1.3M的图片,分辨率是2560X1920(宽X高)图片当载入到手机内存的时候就会请求19M的一块内存,这是远远超出了系统自带的内存空间,这时候应用程序就会挂掉,所以我们要进行图片的缩放处理,以下我就来带大家创建一个用来图片缩放的应用: 应用效果图例如以下: 核心代码的实现: package com.examp.loa

Linux入门(13)——Ubuntu16.04下将图片和pdf互转

Ubuntu16.04下将图片和pdf互转 将图片转为PDF: convert 图片 PDF convert pic.jpg pic.pdf 将PDF转为图片: convert PDF 图片 convert pic.pdf pic.jpg 但这样转出来的图片不怎么清晰,可以进一步设置参数. convert -verbose -resize 1000 -interlace none -density 300 -quality 300 main.pdf main.jpg 或者: convert -d

img图片元素下多余空白解决方案

在进行页面的DIV+CSS排版时,遇到IE6(当然有时Firefox下也会偶遇)浏览器中的图片元素img下出现多余空白的问题绝对是常见的对於 该问题的解决方法也是「见机行事」,根据原因的不同要用不同的解决方法,这里把解决直接把解决image图片布局下边的多余空隙的BUG的常用方法归纳, 供大家参考.1.将图片转换为块级对像即,设置img为:display:block;在本例中添加一组CSS代码:#sub img {display:block;}2.设置图片的垂直对齐方式即设置图片的vertica

Linux下修改图片格式

Linux下修改图片格式 在终端上安装imagemagick sudo apt-get install imagemagick cd到相应的图片所在目录 #把 .png 转到 .jpg convert *.png *.jpg rm -r *.png 上面的方法产生的图片,可能在window上是不能打开的.下面用matlab写了个脚本,可以保证在两个平台上都能用. imagePath='sequences/SegTrack/birdfall2/'; files=dir([imagePath,'*.

解决图片元素下多余空白的BUG

1.将图片转换为块级对象     即,设置img为"display:block;".在本例中添加一组CSS代码:"#sub img {display:block;}".2.设置图片的垂直对齐方式     即设置图片的vertical-align属性为"top,text-top,bottom,text-bottom"也可以解决.如本例中增加一组CSS代码:"#sub img {vertical-align:top;}".3.设置