css的margin為負值的時候為什么列表的第一行也會向上移動?
其實你把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。