設(shè)計(jì)網(wǎng)頁的時(shí)候,會(huì)經(jīng)常發(fā)現(xiàn)在IE里會(huì)有一段文字被重復(fù)顯示,看源代碼只有一遍,但是在IE里會(huì)出現(xiàn)兩邊,這是怎么回事呢?該怎么解決呢?
本問就針對(duì)這個(gè)問題進(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">↓這就是多出來的那只豬</div></div></body></html>
1、在IE、FF中測(cè)試,只在IE出現(xiàn)文字溢出現(xiàn)象。
說明:注釋造成文字溢出是IE的BUG。
2、去除<div style=”float:left”></div> 中的“float:left;”,你會(huì)發(fā)現(xiàn)多出來的“豬”字不見了,頁面正常顯示。
同樣去除 <div style=”float:right;width:400px”>中的“float:right;”,多余的“豬”字也同樣消失,頁面正常顯示。
說明:注釋造成文字溢出與區(qū)塊的浮動(dòng)有關(guān)。
3、將注釋轉(zhuǎn)移到<div style=”float:left”></div>前面,多余的“豬”字消失,頁面正常顯示。
將注釋轉(zhuǎn)移到<div style=”float:right;width:400px”>↓這就是多出來的那只豬</div>下面,多余的“豬”字也同樣消失,頁面正常顯示。
說明:注釋造成文字溢出與其位置有關(guān)。(可與第2點(diǎn)結(jié)合理解)
4、去除<div style=”float:right;width:400px”>中的“width:400px”,多余的“豬”字消失,頁面正常顯示。
說明:注釋造成文字溢出與文字區(qū)塊的固定寬度有關(guān)(無論是絕對(duì)值還是相對(duì)值)。
5、增加注釋的條數(shù):當(dāng)1條注釋時(shí),則多出來1個(gè)字;2條注釋時(shí),則多出來3個(gè)字;3條注釋時(shí),則多出來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ì)消失。
說明:溢出的字?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>↓這就是多出來的那只豬</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下面是存在的
成立條件是
他的父元素跟子元素寬度和是相等的,
子元素中間沒有其他的展示內(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">↓這就是多出來的那只豬</div></div></body></html>
可以通過以下的辦法來解決:
1、不放置注釋。最簡(jiǎn)單、最快捷的解決方法
2、注釋不要放置于2個(gè)浮動(dòng)的區(qū)塊之間。
3、將文字區(qū)塊包含在新的<div></div>之間,如:<div style=”float:right;width:400px”><div>↓這就是多出來的那只豬</div>& lt;/div>。
4、去除文字區(qū)塊的固定寬度,與3有相似之處。
5、有的人在豬后加一個(gè)<br />或者空格,但只是消除現(xiàn)象。
6、不要給浮動(dòng)元素設(shè)置多寬度,使其不會(huì)到達(dá)包含元素的底部,或者對(duì)最后一個(gè)元素設(shè)置margin-right: -3px;或者更小。
7、注釋可以這樣寫:<!
主站蜘蛛池模板:
沙洋县|
和顺县|
章丘市|
新和县|
漳平市|
宁晋县|
安远县|
康乐县|
滕州市|
新安县|
南木林县|
景宁|
阿尔山市|
葫芦岛市|
贵溪市|
宝坻区|
克什克腾旗|
昌平区|
安泽县|
双牌县|
青浦区|
彭阳县|
泽库县|
桃源县|
平乡县|
信阳市|
息烽县|
广灵县|
大连市|
仙居县|
诸城市|
苏尼特左旗|
辉县市|
东海县|
彩票|
五峰|
乌鲁木齐县|
清新县|
南部县|
盐池县|
宁蒗|