首先,如果考虑兼容性的情况下我不建议你用.topdiv1 img:nth-child(2n)这样的选择器,其次我来说明一下这个问题,你这个是没有明白生成块元素的意义,生成块元素后他的顶部就是他的父级div的顶部,而不是他本身的顶部,你可以看一下你这张图,在没有生成块元素的时候是不是以他原来的位置为起始位置再次margin:5px 0;给了一个上下边距,也就是说上面的那个实际上是margin:25px 20px;但是生成块元素后,她是把原来的margin:20px;重置成了margin:5px 20px;
再次回答:这就是生成块元素的和不生成块元素的区别,你还是没有仔细看我的回答,你再仔细看看,我说的挺清楚的吧。
你是想要怎样的效果,第一排的效果就是你css所写的效果呀
margin: 对应的是 上 左 下 右 你看你的对吗
Vue实践-CSS样式position/display/float属性对比使用