我之所以搞不定 ul 居中的問題,就是因為 CSS 寫的太亂太多,到最后一環套一環,自己都糊涂了,定義結構的代碼混雜在各種為了顯示效果而寫的代碼之中,于是便寫亂了。
在大腦發暈的情況下,不想修改了,于是重新寫了實現以上功能的代碼,頁面結構:
復制代碼 代碼如下:
div id="menu"> ul> li>a href="#">Firede/a>/li> li>a href="#">Style5/a>/li> /ul> /div>
完整的樣式表:
復制代碼 代碼如下:
style> #menu {text-align:center;} #menu ul {padding:0;margin:0;} #menu li {display:inline;padding:0 10px;} /style>
像這樣,很簡單的就解決了 ul 不能居中的問題。回頭檢查我的代碼,原來是因為在 li 的樣式里多加了一句 float:left,因為定義的 display 并不是 block,而是 inline,所以并不能浮動,造成了沖突,最終導致 ul 無法居中顯示。
總結一下,在寫網頁結構的時候,最好同一個功能模塊使用相對統一的CSS名。如果可以定義一個樣式名解決問題的,盡量不要定義多個,代碼也要盡量簡潔。因為代碼臃腫了就很容易出問題,并且很難發現錯誤在什么地方。多用些像 menu, menu ul, menu li, menu a, menu a:hover 這種一系列的樣式,而不是定義一些像 menu, menu_ul, menu_ul_li 這樣看似調理清晰、層次鮮明,但是實際上很混亂的名稱。