ol, ul { padding-left:40px; }
而ie的默認樣式是:
ol, ul { margin-left:30pt; }
opera 8或者以前的版本是否和ie一樣?有興趣的同志可以自行測試。
但這至少說明一點,除了微軟之外的瀏覽器廠商都達成一致意見,list的縮進應(yīng)該使用padding來控制。其實這很好理解,縮進的是每一個item而不是整個的list。設(shè)計者對list有怎樣的期望呢?比如說設(shè)置了ul的background:green,多數(shù)人應(yīng)會期待整個ul(即包括了padding的部分)都使用綠色背景色,而不會希望在list的左側(cè)缺失30pt(通常等于40px)。其次,marker部分(就是item之前的小圓點或者數(shù)字序號部分)是在li之外的,但從邏輯上說它屬于list的一部分,在list之內(nèi)。而ie使用margin,實際上就導致了marker部分是懸于list之外。實際上,如果list獲得了layout(haslayout),你就發(fā)現(xiàn)marker不見了!因為在ie臭名昭著的layout模型里,haslayout之后,元素對象會自行處理其所占據(jù)區(qū)域的呈現(xiàn),但是無法處理其區(qū)域之外。這也是其的width/height實際上類似min-width/min-height的原因,因為它無法繪制overflow到外面的部分。
css code復制內(nèi)容到剪貼板
<style>
ol { background:green; }
ol#mylist2 { zoom:1; }
</style>
<ol id=mylist1>
<li>first item...</li>
<li>second item...</li>
<li>third item...</li>
</ol>
<ol id=mylist2>
<li>first item...</li>
<li>second item...</li>
<li>third item...</li>
</ol>
所以,比較好的方法就是給所有網(wǎng)頁統(tǒng)一list的margin和padding,比如:
ol, ul { margin-left:0; padding-left:40px; }
或者也可以只針對ie進行修復:
ol, ul { _margin-left:0; _padding-left:40px; }
下面是其他網(wǎng)友的補充:
ul標簽的padding與margin默認值 40px
ul標簽的padding與margin默認值
ul標簽在ff中默認只有padding值(即:padding-left:40px),而在ie中只默認有margin值(即:margin-left:40px),所以先定義 ul{margin:0;padding:0;}就能解決大部分問題。
一般都在總樣式規(guī)定一下: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;}
更多信息請查看IT技術(shù)專欄