css的margin为负值的时候为什么列表的第一行也会向上移动?

图一是没加margin的列表位置,图二是加了margin-top:5px的位置,图三是加了margin-top:-5px的位置。图二加了5px的段间距没什么问题,第一行也... 图一是没加margin的列表位置,图二是加了margin-top:5px的位置,图三是加了margin-top:-5px的位置。图二加了5px的段间距没什么问题,第一行也没动。但为什么图三设置为-5px,第一行“人生得意须尽欢”就会向上移动?还有它移动的路程也是5px吗? 展开
 我来答
网海1书生
科技发烧友

2018-08-19 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部

其实你把ul和li都加上背景色就能看出端倪来的:

如果li的margin-top是正值(为了看得明白些,我用的是10px),是这样的:

红色部分是ul,蓝色则是li,最上面的黄色部分则是第一个li的margin-top(也就是10px),它是凸出在ul的外面的,这也就是说,如果margin-top是正值,则第一个li的位置会保持不变,从第二个li开始才是逐渐向下拉伸的(值得一提的是:如果li的margin-top大于ul的margin-top,则ul会以li的margin-top作为基准向下推,这时候第一个li就不会保持位置不变了)。

而当li的margin-top是负值时(比方说-10px),情况就不是这样了,第一个li会向上移动10px,而第二个li则移动20px,依此类推,连带着整个ul也会向上移动10px。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式