IE中文字結(jié)尾出現(xiàn)重復(fù)跳字的解決辦法_瀏覽器兼容教程
設(shè)計(jì)網(wǎng)頁(yè)的時(shí)候,會(huì)經(jīng)常發(fā)現(xiàn)在IE里會(huì)有一段文字被重復(fù)顯示,看源代碼只有一遍,但是在IE里會(huì)出現(xiàn)兩邊,這是怎么回事呢?該怎么解決呢?
本問(wèn)就針對(duì)這個(gè)問(wèn)題進(jìn)行了詳細(xì)的解析,希望能幫到大家.
調(diào)試代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta. http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>多了一只豬</title> </head> <body> <div style="width:400px"> <div style="float:left"></div> <!-- --> <div style="float:right;width:400px">↓這就是多出來(lái)的那只豬</div> </div> </body> </html>
1、在IE、FF中測(cè)試,只在IE出現(xiàn)文字溢出現(xiàn)象。
說(shuō)明:注釋造成文字溢出是IE的BUG。
2、去除<div style=”float:left”></div> 中的“float:left;”,你會(huì)發(fā)現(xiàn)多出來(lái)的“豬”字不見了,頁(yè)面正常顯示。
同樣去除 <div style=”float:right;width:400px”>中的“float:right;”,多余的“豬”字也同樣消失,頁(yè)面正常顯示。
說(shuō)明:注釋造成文字溢出與區(qū)塊的浮動(dòng)有關(guān)。
3、將注釋轉(zhuǎn)移到<div style=”float:left”></div>前面,多余的“豬”字消失,頁(yè)面正常顯示。
將注釋轉(zhuǎn)移到<div style=”float:right;width:400px”>↓這就是多出來(lái)的那只豬</div>下面,多余的“豬”字也同樣消失,頁(yè)面正常顯示。
說(shuō)明:注釋造成文字溢出與其位置有關(guān)。(可與第2點(diǎn)結(jié)合理解)
4、去除<div style=”float:right;width:400px”>中的“width:400px”,多余的“豬”字消失,頁(yè)面正常顯示。
說(shuō)明:注釋造成文字溢出與文字區(qū)塊的固定寬度有關(guān)(無(wú)論是絕對(duì)值還是相對(duì)值)。
5、增加注釋的條數(shù):當(dāng)1條注釋時(shí),則多出來(lái)1個(gè)字;2條注釋時(shí),則多出來(lái)3個(gè)字;3條注釋時(shí),則多出來(lái)5個(gè)字……
我們會(huì)從上面的規(guī)律中得到這樣一個(gè)公式:溢出文字的字?jǐn)?shù)=注釋的條數(shù)*2-1,這里的字?jǐn)?shù)在中文或英文數(shù)字時(shí)都成立。
當(dāng)溢出的文字字?jǐn)?shù)大于文本的字?jǐn)?shù)時(shí),文字區(qū)塊將會(huì)消失。
說(shuō)明:溢出的字?jǐn)?shù)與注釋的條數(shù)有關(guān)。
由1和2的測(cè)試得知:注釋不要放置于2個(gè)浮動(dòng)的區(qū)塊之間。
解決方法:
1、不放置注釋。最簡(jiǎn)單、最快捷的解決方法,嘿嘿……
2、注釋不要放置于2個(gè)浮動(dòng)的區(qū)塊之間。
3、將文字區(qū)塊包含在新的<div></div>之間,如:<div style=”float:right;width:400px”><div>↓這就是多出來(lái)的那只豬</div></div>。
4、去除文字區(qū)塊的固定寬度,與3有相似之處。
———————————————————————————————————————————
IE bug重復(fù)文字
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title> new document </title>
<style type="text/css">
*{margin:0;padding:0;}
body {font:12px verdana,Geneva,sans-serif;padding:10px;}
.box{width:300px;}
.box div{float:left;width:150px;}
</style>
</head>
<body>
<div class="box">
<div class="box1">重復(fù)文字:</div>
<!-- -->
<div class="box2">需要您我是一只魚</div>
</div>
</body>
</html>這種bug他是在ie6下面是存在的
成立條件是
他的父元素跟子元素寬度和是相等的,
子元素中間沒(méi)有其他的展示內(nèi)容,只有注釋符合在里面就會(huì)產(chǎn)生重復(fù)最后一個(gè)子元素的最后一個(gè)字符。
———————————————————————————————————————————
css文字重復(fù)IE bug導(dǎo)致文字的奇怪復(fù)制
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>多了一只豬</title> </head> <body> <div style="width:400px"> <div style="float:left"></div> <!-- --> <div style="float:right;width:400px">↓這就是多出來(lái)的那只豬</div> </div> </body> </html>
可以通過(guò)以下的辦法來(lái)解決:
1、不放置注釋。最簡(jiǎn)單、最快捷的解決方法
2、注釋不要放置于2個(gè)浮動(dòng)的區(qū)塊之間。
3、將文字區(qū)塊包含在新的<div></div>之間,如:<div style=”float:right;width:400px”><div>↓這就是多出來(lái)的那只豬</div>& lt;/div>。
4、去除文字區(qū)塊的固定寬度,與3有相似之處。
5、有的人在豬后加一個(gè)<br />或者空格,但只是消除現(xiàn)象。
6、不要給浮動(dòng)元素設(shè)置多寬度,使其不會(huì)到達(dá)包含元素的底部,或者對(duì)最后一個(gè)元素設(shè)置margin-right: -3px;或者更小。
7、注釋可以這樣寫:<!–[if !IE]>Put your commentary in here…<![endif]–>
瀏覽器兼容教程Rss訂閱Div+Css教程搜索
瀏覽器兼容教程推薦
猜你也喜歡看這些
- _blank開新窗口不符合標(biāo)準(zhǔn)?
- Web標(biāo)準(zhǔn)網(wǎng)站建設(shè)的思考
- 無(wú)內(nèi)容div占據(jù)空間的觸發(fā)條件和解決方法
- CSS布局 聲明文檔類型描述(DTD)
- Microsoft于2008年2月12日將瀏覽器強(qiáng)制升級(jí)至IE7
- WEB2.0標(biāo)準(zhǔn)教程:第四天 調(diào)用樣式表
- 符合WebStandards的結(jié)構(gòu)清晰的xhtml文檔
- 網(wǎng)頁(yè)設(shè)計(jì)制作CSS實(shí)現(xiàn)隔行換色兩種方法
- 新手必須掌握的8個(gè)CSS經(jīng)典布局的技巧
- 新手如何系統(tǒng)的學(xué)習(xí)Web標(biāo)準(zhǔn)?
- 相關(guān)鏈接:
- 教程說(shuō)明:
瀏覽器兼容教程-IE中文字結(jié)尾出現(xiàn)重復(fù)跳字的解決辦法
。