加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

解决img标签上下出现间隙的方法

发布时间:2020-03-16 03:45:00 所属栏目:编程 来源:站长网
导读:我们在泛泛的开拓进程中,常常必要行使多张图片,而行使多张图片的时辰,我们一样平常会去行使一个列表来对我们的img 举办承装。 !DOCTYPE htmlhtml lang=enheadmeta charset=UTF-8titleDocument/titlestyle type=text/cssimg{height: 200px;margin: 0;padding

我们在泛泛的开拓进程中,常常必要行使多张图片,而行使多张图片的时辰,我们一样平常会去行使一个列表来对我们的img 举办承装。

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> img{ height: 200px; margin: 0; padding: 0; border-bottom: 1px solid red; } ul{ border: 1px solid blue; list-style: none; padding: 0; margin: 0; } </style> </head> <body> <ul> <li> <img src=http://www.jb51.net/html5/"lipeng.png"> </li> </ul> </body> </html>

可是这个时辰我们发明白一个题目,为什么我的图片下面多出来一条线呀?

办理img标签上下呈现间隙的要领

这是怎么回事呀?

我不是已经把 img 的外边距和内边距什么的所有清空了么?

现实上,这着实是inline元素搞的鬼。

任何不是块级元素的可见元素都是内联元素,其示意的特征是“行机关”情势。----《CSS势力巨子指南》

什么意思?

意思就是,着实如图片笔墨等内联元素,它默认对齐方法都是和它的父级的 baseline 去举办对齐的,可是你对齐的是 baseline,撑开高度的却是元素整体的高度(bottom line),这样必定就会造成必然的间隙,也就是我们上文呈现的题目了。

办理img标签上下呈现间隙的要领

那我们既然知道了这个题目呈现的缘故起因,那么办理起来也就简朴多啦。

1.第一种办理方案

既然是 inline 元素才会产生这个题目,那我们天然可以简朴粗暴的办理这个题目,那就是给我们的元素“变本性”,让它从 inline 变为 block 不就可以了么?

<style type="text/css"> img{ height: 200px; margin: 0; padding: 0; border-bottom: 1px solid red; display: block; } ul{ border: 1px solid blue; list-style: none; padding: 0; margin: 0; } </style>

2.第二种办理方案

这也太粗暴了,变了性别,转头还怎么舒畅的玩耍呀,以是我们要实行曲线救活,我们可以去修改一下它的垂直对齐方法呀,这样是不是就可以了呢? 

<style type="text/css"> img{ height: 200px; margin: 0; padding: 0; border-bottom: 1px solid red; vertical-align: middle; } ul{ border: 1px solid blue; list-style: none; padding: 0; margin: 0; } </style>

可以看出,这样也可以实现想要的结果。

缘故起因在于,vertical-align 的默认属性就是 baseline ,我们只要配置了跟 baseline 纷歧样的属性,都可以停止这个题目。

办理img标签上下呈现间隙的要领

3.第三种办理方案

可是修改了对齐方法,这样也有也许会造成题目呀,我们可不行以去让这个元素飘起来呢?既然你已经不在当前文档流中了,你机关的时辰天然也就不会参照这个笔墨去举办对齐了呀。

我们可以去行使浮动。

<style type="text/css"> img{ height: 200px; margin: 0; padding: 0; border-bottom: 1px solid red; float: left; } ul li { overflow: hidden; } ul{ border: 1px solid blue; list-style: none; padding: 0; margin: 0; } </style>

这样也可以办理这个题目,可是请留意,“浮动虽好,可不要贪杯呦”。

你必然要可以或许正确的办理浮动所造成的影响,并且若是你本来就规划去做笔墨环抱结果,那么行使浮动必然是你的不二选择。

4.第四种办理方案

若是上面几种方案全都不能办理你的题目,那么只有祭出我的大杀器了。

你可以给你的父元素把笔墨巨细设成0。

<style type="text/css"> img{ height: 200px; margin: 0; padding: 0; border-bottom: 1px solid red; } ul li { font-size: 0px; } ul{ border: 1px solid blue; list-style: none; padding: 0; margin: 0; } </style>

既然你是按照 笔墨的基线去对齐,我直接把笔墨给你设没了,这样你就没法定位了吧,可是这种做法,只保举在你已经“急头白脸死活弄不出来”的时辰才去行使的。

总结

好了,以上就是对这个题目的四种办理方案,但愿看到此文的小搭档往后都能跳出这个坑啦。假若有疑问各人可以留言交换。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读