简记<img>下方的空白间隙

当你书写以下代码

<img src="balbal.." />

<div></div>

你会发现<img>距离<div>隔了几个空白像素

那么 Q1:这些空白像素如何产生的?

   A1:这是因为 水平方向上的元素垂直对齐的方式  造成的。

通常情况,能在一行显示的元素,display应为inline或者line-block。

如果一行上的元素高矮不一致,那么应该如何对齐这些inline?

css提供了vertical-align来确定这些元素是如何对齐的。

该属性默认值为baseline 即字母x的底部,来对齐。

而字母x,本身是有高度的,自然就出现了额外的空隙

Q2:如何消除这些空隙?

A2:已经知道了原因,那么解决就很简单了

1.display:block 脱离vertical-align的影响

2.给<img>的父元素设置 font-size:0 字体没有了size 空隙也就自然消失了

3.给<img>的父元素设置line-height:0 行高 也可以

4.既然是因为baseline搞的鬼,那么把<img>的vertical-align设置为top 也可以消灭空隙。

时间: 2024-10-10 13:24:57

简记<img>下方的空白间隙的相关文章

inline-block产生空白间隙的问题

在项目中遇到给设置display:inline-block属性出现空白间隙 如: #wrapper{ border: 1px solid blue; } #wrapper div{ width: 100px; height:100px; display:inline-block; background: #eee; } <div id="wrapper"> <div>div1</div> <div>div2</div> <

inline-block空白间隙

很多时候display:inline-block比float:left;好用.也因为IE6 7不支持inline-block,所有一般都这样写:{display:inline-block; *display:inline; *zoom:1},但是用了inline-block之后一些较高级的浏览器会出现空白间隙,而在IE6 7下是没有的.如图: 其实这个问题是我们自己造成的,为了代码的可读性,在一行结束打个回车换行,回车产生回车符,回车符相当于空白符,真正原因就是这个回车符. 解决方法:竟然是字符

CSS font-size: 0去除内联元素空白间隙

我们在编写HTML标签的时候,通常会使用换行,缩进来保证代码的可读性.同时,在编写CSS样式的时候,也会需要把一些元素设置为inline或inline-block.这样一来,有时在页面中会出现意外的空白间隙导致页面视图与本意不符. 先来了解一下出现空白间隙的原因吧!因为内联元素默认排版中有空白间隙,以此来把每一个内联元素独立分开,这里的空白间隙也就是空白的文本节点,在缩进代码时会占据宽度,所以就导致了意外的空白间隙. 那么接下来为大家提供三种解决方法 1.去掉两个HTML标签中的空白,也就是去掉

iOS 利用constraint实现2个控件上下的空白是相等的

说的有点乱,先看个图把 其实这个constrant的目的就是控制两个方形的控件上方和下方的空白大小. 对于每一个方块来说,他们上方和下方的空白是相同的.这种"居中"的设计到处可见.一个控件想实现这种居中和简单,只需要建立一个参考的view,比如这里的h1或h2,再调整好参考view的高度,最后设置控件和参考view中部对齐即可.连续的2个控件都想实现的话,就麻烦一点,需要2个参考view,具体的设置方法请参考上图.注意,这里的m,n,height都是定值.所以对应的h1和h2可以解除唯

(二)弥补图片自由缩放出现的间隙

在上一篇文章中,初步实现了自定义ImageView的多点触控.但是从最终效果来看,却发现自由缩放时,图片与屏幕出现了空白间隙,这当然是让人十分厌恶的.在这篇文章中,就来解决这个问题.如果你还没读过上一篇文章,可以点击下面的链接: http://www.cnblogs.com/fuly550871915/p/4939629.html 先贴出上一篇文章所实现的最终效果图吧,如下: 从上图中,可以看到,图片缩放后,与屏幕之间形成了很大的空白间隙.现在来解决这个问题,主要是两个方面: (1)图片自由缩放

inline-block及解决空白间距

參考:http://www.jb51.net/css/76707.html http://www.webhek.com/remove-whitespace-inline-block/ inline-block 属性的使用随处可见,ie 从 5.5 开始就已经支持 display:inline-block 了,只是支持的并不是那么完美,接下来为大家详细介绍下空白间隙是如何产生的,以及解决办法,感兴趣的朋友可以参考下哈 去掉display:inline-block元素间的多余空白 如下一段代码,di

display:inline-block的间隙问题和解决办法

空格符本质上就是个字符,与a,b,c,d这些字符是个同一个属性的东西,只是它是空格,透明的看不见而已(但可以选中).所以,只要我们使用让文字宽度为0的那些方法,就可以解决inline-block元素间换行符间隙的问题. 1.  {font-size:0;}但是,这个方法在chrome浏览器下没有效果,在IE6/7下残留1像素间隙. 2. letter-spacing 属性可以控制文字间的水平距离的,支持负值,可以让文字水平方向上重叠. 但是,基本上所有的浏览器对于不同字体下的空格符的水平占据的解

(测试文章,转载)CSS深入理解vertical-align和line-height的基友关系

一.想死你们了 几个星期没有写文章了,好忙好痒:个把月没有写长篇了,好忙好想:半个季度没在文章中唠嗑了,好痒好想. 后面一栋楼有对夫妻在吵架,声音雄浑有力,交锋酣畅淋漓,还以为只有小乡镇才有这架势,哦,突然想起来,我就是住在上海郊外的小乡镇上. 刚刚买了几十股京东的股票,第一次玩这个,看好京东的发展.其实股价21的时候就打算入手了,但是,转外汇的时候,提示,要工作时间.然后一忙二忘,等现在入的时候,已经涨了20%多了,科科,肥皂弄人啊!写到这里的时候,忍不住拿出手机一看,哎呦,不错哦,盈利28刀

如何让未知尺寸的图片、单行文本、多行文本水平垂直居中?

先看下效果图: 下面是CSS代码: <style type="text/css"> /*让未知尺寸的图片.单行文本.多行文本水平垂直居中*/ .wrap { border: 1px solid #0094ff; width: 200px; height: 200px; /*下面是实现垂直居中的关键,没有之一*/ display: table-cell; text-align: center; vertical-align: middle; } .wrap .subwrap