设置display:block后,margin失效,如何解决

来源:3-4 折翼天使表现特性二:位置跟随

hjh399

2015-11-22 21:49

56542f370001ce9003240073.jpg

设置display:block后,第三张图上移,如何解决?
为什么会存在这种问题呢?


demo地址在这里

56542f380001f3fe03070075.jpg

写回答 关注

4回答

  • hey自然
    2015-12-09 17:29:35
    已采纳

    你问的这个问题蛮不错的。我觉着我有必要回答一下。第二张图片包裹在一个div之内。

    这个间隙是img和div之间的间隙。为什么会有这么一个间隙。img本身是inline-block 水平的元素,因而会受到line-height与vertical-align(而vertical-align 默认是baseline对齐)的作用。而img,block 化之后,便不再受到line-height和vertical-align的影响。

    解决方法这个存在的间隙的方法,如果img不设置block的话,可以尝试设置其父元素的,1.)可以尝试把 line-height设置足够小。2.)可以把vertical-align的对齐方式设置为bottom,middle,top。3.)font-size设置为0.

    篇幅以及精力有限,并未展开这个间隙存在的具体原因。但是张鑫旭老师对这个现象有非常详尽的博文,你可以搜一下。

    hjh399

    非常感谢!

    2015-12-09 20:20:10

    共 2 条回复 >

  • 深山小童
    2016-03-11 21:20:52

    那个间隙还是不怎么懂

  • 天涯922
    2016-03-06 00:10:29

    为什么我引用外部链接<link href="css/index.css" rel="stylesheet" type="text/css"/>设置元素的margin-top不起作用而在元素上直接设置<link href="css/index.css" rel="stylesheet" type="text/css"/></div>就起作用呢,这一般是什么原因造成的

  • colorado
    2015-11-23 13:36:05

    display:block???你说的应该是绝对定位后下面飘上去是吧?

    colora... 回复hjh399

    我晕哟,设置了定位属性后就脱离了文档流啊

    2015-11-25 13:13:20

    共 2 条回复 >

CSS深入理解之absolute

理解CSSposition:absolute声明,掌握position:absolute高级应用

51957 学习 · 254 问题

查看课程

相似问题