img与父元素的间隙解决
程序员文章站
2022-05-15 11:10:24
...
近来在做H5页面时,突然发现一个问题,使用一个div包裹一个img,在手机预览时,发现图片与div之间有间隙。
当时第一反应就是,是不是间距没有设置为0,于是预览了下代码:
.active img {
width:100%;
margin: 0;
}
后来浏览了一些技术文档,发现了问题所在,原来是因为在H5文档声明下,块状元素内部的内联元素的行为表现所致,简单地说就好像块状元素内部有个看不见的没有宽度的空白节点。
而不设置vertical-align属性,vertical-align默认是baseline。
现解决方案有如下两种:
1.第一种最直接的解决方法是:
设置img的标签:vertical-align:bottom
修改后的的代码:
.active img{
width:100%;
margin:0;
vertical-align:bottom;//top和bottom都可以
}
2.由于baseline是设置行内元素(inline)或者表格单元素(table-cell)的垂直对齐方式,所以可以将img转换成块级元素。
第二种方法:display:block,把父元素的font-size设为0
修改后的代码:
.active img{
width:100%;
margin:0;
display:block;
}
.active{
font-size;0;
...
}
总结:第一次写随笔记录自己工作遇到的点点滴滴,可能写的不好,还请大牛多指导。
推荐阅读
-
jquery、js调用iframe父窗口与子窗口元素的方法教程
-
JS与jQuery实现子窗口获取父窗口元素值的方法
-
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
-
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
-
HTML中由于DIV(块元素)浮动,导致的父元素高度塌陷问题的解决方案
-
javascript在父窗口iframe跨域操作子元素无法绑定子域下的function的解决办法 jquerybindlivedelegateiframe
-
解决Vue2.x父组件与子组件之间的双向绑定问题
-
ie6 img标签 与父元素之间出现空白解决方法
-
解决图片与div之间的间隙问题
-
解决IE 下div与img重叠无法触发鼠标事件的问题