萬盛學電腦網

 萬盛學電腦網 >> 網頁制作 >> DivCSS教程 >> 關於ol和ul的padding和margin默認值

關於ol和ul的padding和margin默認值

 ol, ul { padding-left:40px; }

而IE的默認樣式是:

ol, ul { margin-left:30pt; }

Opera 8或者以前的版本是否和IE一樣?有興趣的同志可以自行測試。

但這至少說明一點,除了微軟之外的浏覽器廠商都達成一致意見,list的縮進應該使用padding來控制。其實這很好理解,縮進的是每一個item而不是整個的list。設計者對list有怎樣的期望呢?比如說設置了ul的background:green,多數人應會期待整個ul(即包括了padding的部分)都使用綠色背景色,而不會希望在list的左側缺失30pt(通常等於40px)。其次,marker部分(就是item之前的小圓點或者數字序號部分)是在li之外的,但從邏輯上說它屬於list的一部分,在list之內。而IE使用margin,實際上就導致了marker部分是懸於list之外。實際上,如果list獲得了layout(hasLayout),你就發現marker不見了!因為在IE臭名昭著的layout模型裡,hasLayout之後,元素對象會自行處理其所占據區域的呈現,但是無法處理其區域之外。這也是其的width/height實際上類似min-width/min-height的原因,因為它無法繪制overflow到外面的部分。
 

CSS Code復制內容到剪貼板
  1. <style>   
  2. ol { background:green; }   
  3. ol#myList2 { zoom:1; }   
  4. </style>   
  5.   
  6. <ol id="myList1">   
  7.     <li>First item...</li>   
  8.     <li>Second item...</li>   
  9.     <li>Third item...</li>   
  10. </ol>   
  11.   
  12. <ol id="myList2">   
  13.     <li>First item...</li>   
  14.     <li>Second item...</li>   
  15.     <li>Third item...</li>   
  16. </ol>  


所以,比較好的方法就是給所有網頁統一list的margin和padding,比如:
ol, ul { margin-left:0; padding-left:40px; }

或者也可以只針對IE進行修復:

ol, ul { _margin-left:0; _padding-left:40px; }

下面是其他網友的補充:

UL標簽的padding與margin默認值 40px

UL標簽的padding與margin默認值

ul標簽在FF中默認只有padding值(即:padding-left:40px),而在IE中只默認有margin值(即:margin-left:40px),所以先定義 ul{margin:0;padding:0;}就能解決大部分問題。

一般都在總樣式規定一下:body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,img {padding:0;margin:0;}

copyright © 萬盛學電腦網 all rights reserved