时间:2021-07-01 10:21:17 帮助过:5人阅读
divp
p
的margin-top是存在的,目测为10px;
然后,把
的margin-top变为0px了。
似乎有些矛盾。
问题很初级,见笑了,求解答…………
不同的DTD有不同的解释,你可以在页头加上
不同的DTD有不同的解释,你可以在页头加上
或者
好的,你说的这个我还不是很清楚,我查查这方面的资料先,非常感谢!
第一次是因为div在默认情况是下没有垂直外边距的,而body和p默认情况下是存在外边距的。
因为body和p中间有一个div分隔,所以两个垂直外边距没有发生 “垂直外边距叠加”的效果。
垂直外边距叠加 的前提是两个垂直外边距相邻。
第二次,去掉了div元素,所以会导致body的上外边距和p的默认的上外边距叠加,最后取两者中较小的值。
最后导致的效果是body和p的上外边距值相等。。
所以两个上外边距相等值的元素显示出来都是“重叠”在一起了。
的确有点不好理解。。。
CS高深莫测啊 鄙人还有很多要学的
第一次是因为div在默认情况是下没有垂直外边距的,而body和p默认情况下是存在外边距的。
因为body和p中间有一个div分隔,所以两个垂直外边距没有发生 “垂直外边距叠加”的效果。
垂直外边距叠加 的前提是两个垂直外边距相邻。
第二次,去掉了div元素,所以会导致body的上外边距和p的默认的上外边距叠加,最后取两者中较小的值。
最后导致的效果是body和p的上外边距值相等。。
所以两个上外边距相等值的元素显示出来都是“重叠”在一起了。
的确有点不好理解。。。
第一次和第二次的body边框都是用了solid的,所以不会发生叠加……
而且,垂直合并是取两者中较大的值……
谢谢你的回答!
haslayout和块级上下文,很多时候bug都是这两种原因造成的,
后面加上换行