第一個問題UL設定margin:0pxauto是指UL本身相對於父級物件居中。你的UL父級物件是DIV,所以並不是相對螢幕居中,而是相對父級DIV300個PX的居中。解決這個問題的方法是把DIV的寬度去掉,讓DIV預設為BODY的寬度。或者乾脆直接把父級的DIV去掉。第二個問題如果要垂直居中,valign很多瀏覽器相容性不好,一般解決方法:如果是一行的話可以設定行高line-height屬性和高度height相等;如果是多行的話要複雜的多,可以考慮將父級物件設定為相對定位position:relative,要居中的物件設定為絕對定位position:absolute,然後慢慢調整left和top的值。第二個問題你還有一個錯誤就是一個物件如果加了padding之後的話,跟它的寬度沒有關係,也就是說。如果你設定一個物件的寬度為200px,padding為50px,它的真實寬度就是200px加上左邊的50px的padding,右邊的50px的padding,加起來一共300px;第三個問題同第一個問題,li的左右居中依然是相對於它的父級物件即ul居中,只瀏覽器的寬度沒有關係。第四個問題沒明白你的意思,一個UL裡有好多個LI,你要是多個li同時居中?就是全部重疊在一起?還是說什麼居中?或者你的意思是比如ul高200,一共有兩個LI,兩個LI一個人有50的高度,居中的意思就是說兩個LI應該本身佔100的高度,然後上面空50,下面空50?
第一個問題UL設定margin:0pxauto是指UL本身相對於父級物件居中。你的UL父級物件是DIV,所以並不是相對螢幕居中,而是相對父級DIV300個PX的居中。解決這個問題的方法是把DIV的寬度去掉,讓DIV預設為BODY的寬度。或者乾脆直接把父級的DIV去掉。第二個問題如果要垂直居中,valign很多瀏覽器相容性不好,一般解決方法:如果是一行的話可以設定行高line-height屬性和高度height相等;如果是多行的話要複雜的多,可以考慮將父級物件設定為相對定位position:relative,要居中的物件設定為絕對定位position:absolute,然後慢慢調整left和top的值。第二個問題你還有一個錯誤就是一個物件如果加了padding之後的話,跟它的寬度沒有關係,也就是說。如果你設定一個物件的寬度為200px,padding為50px,它的真實寬度就是200px加上左邊的50px的padding,右邊的50px的padding,加起來一共300px;第三個問題同第一個問題,li的左右居中依然是相對於它的父級物件即ul居中,只瀏覽器的寬度沒有關係。第四個問題沒明白你的意思,一個UL裡有好多個LI,你要是多個li同時居中?就是全部重疊在一起?還是說什麼居中?或者你的意思是比如ul高200,一共有兩個LI,兩個LI一個人有50的高度,居中的意思就是說兩個LI應該本身佔100的高度,然後上面空50,下面空50?