Firefox下樣式設(shè)置寬度奇怪現(xiàn)象
更新時(shí)間:2008年09月10日 23:46:10 作者:
前段時(shí)間做項(xiàng)目時(shí)碰到一個(gè)奇怪的現(xiàn)象
頁(yè)面中有一個(gè)數(shù)據(jù)列表,是table,放在一個(gè)div窗口中,結(jié)構(gòu)如下:
<body>
<div id="container">
<table id="grid">....列表數(shù)據(jù)....</table>
</div>
</body>
給 container 設(shè)置了樣式 #container {width:100%; margin:10px;}
給 grid 設(shè)置了樣式 #grid {width:100%}
測(cè)試結(jié)果在IE中正常,在 Firefox 下 container 的實(shí)際寬度會(huì)超過(guò)100%而出現(xiàn)橫向滾動(dòng)條,因?yàn)镕irefox把margin算進(jìn)了寬度,實(shí)際等于100%+20px>100%。
當(dāng)然可以去掉div的margin定義,改用body的padding來(lái)設(shè)置,但是頁(yè)面中有其他內(nèi)容要占滿整個(gè)頁(yè)。
于是以前為了解決這個(gè)問(wèn)題會(huì)給div在Firefox區(qū)別定義一個(gè)width:98%,這樣好像是解決了問(wèn)題,但是如果瀏覽器窗口變小,F(xiàn)irefox下的98%+20px說(shuō)不定就又大于100%而出現(xiàn)橫向滾動(dòng)條。
出于試試看的心理,我把container的樣式改成了#container {width:100%-20; margin:10px},再到Firefox下去看看,呵呵,竟然變得正常了,和IE下一樣,真是奇怪了,width:100%-20這樣的定義應(yīng)該是錯(cuò)誤的呀!但是卻解決了Firefox把margin算進(jìn)去的問(wèn)題,進(jìn)一步試下,發(fā)現(xiàn)隨便100%減隨便一個(gè)數(shù)字都可以,查了些資料,一直沒(méi)有明白是什么原因。
或許就是個(gè)bug,呵呵!也許哪個(gè)高手知道原因。自己做過(guò)測(cè)試,把代碼和截圖貼上來(lái):

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
復(fù)制代碼 代碼如下:
<body>
<div id="container">
<table id="grid">....列表數(shù)據(jù)....</table>
</div>
</body>
給 container 設(shè)置了樣式 #container {width:100%; margin:10px;}
給 grid 設(shè)置了樣式 #grid {width:100%}
測(cè)試結(jié)果在IE中正常,在 Firefox 下 container 的實(shí)際寬度會(huì)超過(guò)100%而出現(xiàn)橫向滾動(dòng)條,因?yàn)镕irefox把margin算進(jìn)了寬度,實(shí)際等于100%+20px>100%。
當(dāng)然可以去掉div的margin定義,改用body的padding來(lái)設(shè)置,但是頁(yè)面中有其他內(nèi)容要占滿整個(gè)頁(yè)。
于是以前為了解決這個(gè)問(wèn)題會(huì)給div在Firefox區(qū)別定義一個(gè)width:98%,這樣好像是解決了問(wèn)題,但是如果瀏覽器窗口變小,F(xiàn)irefox下的98%+20px說(shuō)不定就又大于100%而出現(xiàn)橫向滾動(dòng)條。
出于試試看的心理,我把container的樣式改成了#container {width:100%-20; margin:10px},再到Firefox下去看看,呵呵,竟然變得正常了,和IE下一樣,真是奇怪了,width:100%-20這樣的定義應(yīng)該是錯(cuò)誤的呀!但是卻解決了Firefox把margin算進(jìn)去的問(wèn)題,進(jìn)一步試下,發(fā)現(xiàn)隨便100%減隨便一個(gè)數(shù)字都可以,查了些資料,一直沒(méi)有明白是什么原因。
或許就是個(gè)bug,呵呵!也許哪個(gè)高手知道原因。自己做過(guò)測(cè)試,把代碼和截圖貼上來(lái):

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
相關(guān)文章
轉(zhuǎn)載未知大小的圖片在一個(gè)已知大小容器中的水平和垂直居中(二)
轉(zhuǎn)載未知大小的圖片在一個(gè)已知大小容器中的水平和垂直居中(二)...2007-01-01推薦三種簡(jiǎn)潔的Tab導(dǎo)航(網(wǎng)頁(yè)選項(xiàng)卡)簡(jiǎn)析
推薦三種簡(jiǎn)潔的Tab導(dǎo)航(網(wǎng)頁(yè)選項(xiàng)卡)簡(jiǎn)析...2007-05-05div+css布局必了解的列表元素ul ol li dl dt dd詳解
dt 和dd中可以再加入 ol ul li和p,理解這些以后,在使用div布局的時(shí)候,會(huì)方便很多,其實(shí)w3c提供了很多元素輔助布局都是有它的用處的,而不盡是div。2008-04-04