css bug

測試IE6及IE6+
推薦:良心總結(jié)

  • IE8中input[button|submit]不能用margin:0 auto;居中
    div{ width:100px;margin:0 auto;}
    對于塊級元素,當(dāng)我想讓他居中時,我會這樣做军援,先設(shè)置寬度仗嗦,再設(shè)置自動邊距淤堵。因為如果不設(shè)置寬度,他將占據(jù)一行柬批,就談不上居中布局中啦啸澡。
    a{
    display: block;
    margin: 0 auto;
    width: 100px;
    }
    對于行內(nèi)非替換元素,當(dāng)我想讓他居中時氮帐,我發(fā)現(xiàn)①他設(shè)置不了寬度②設(shè)置自動邊距無反應(yīng)嗅虏。解決辦法:將行內(nèi)非替換元素設(shè)為塊級元素,該元素會立馬將寬度填充“父元素的當(dāng)前寬度”上沐,當(dāng)前兩個字皮服,需要著重理解。然后就和對待塊級元素一樣的辦法,設(shè)置自動邊距就有效果啦龄广。
    div input[type=button]{
    width: 200px;
    margin: 0 auto;
    display: block;
    border: 0;
    }
    對于行內(nèi)替換元素硫眯,當(dāng)我想讓他居中時,就有差異啦择同。他們的默認display:inline-block两入,所以寬度敲才,高度都可以設(shè)置裹纳。
    1、對于[button||submit]的行內(nèi)替換元素紧武,首先:這些元素同行內(nèi)元素一樣需要轉(zhuǎn)換為塊級元素剃氧,但是,不同的是阻星,他們的寬度朋鞍,并不會充斥父元素。然后通過設(shè)置自動邊距迫横,就會達到居中的效果番舆。
    2酝碳、對于[button||submit]的行內(nèi)替換元素矾踱,其實要想達到居中的效果,同1的做法一樣疏哗,但是呛讲,在IE8會出現(xiàn)bug,為了兼容IE8返奉,需要為該元素設(shè)置寬度贝搁,就可以很好地兼容。
  • body{overflow:hidden;}沒有去掉IE6芽偏、7的滾動條
    這個bug雷逆,怎么說呢,一般的網(wǎng)頁內(nèi)容肯定是需要翻頁的污尉,需要拖動滾動條的膀哲,所以這個bug有沒有必要解決,就看個人在網(wǎng)站設(shè)計時被碗,的需要了某宪。
    解決辦法:
    html{ overflow:hidden}

haslayout是IE的專有屬性,當(dāng)該值為true時锐朴,他可以自己控制自己自身的內(nèi)容⌒宋梗現(xiàn)代瀏覽器,IE8+都不會考慮這個屬性。舉個例子衣迷。
我們希望為行內(nèi)元素設(shè)置寬高畏鼓,習(xí)慣上,我們會將其轉(zhuǎn)換為塊級元素蘑险,然后再設(shè)置滴肿。但是IE6/7只需要通過啟動hasLayout的值為true就可以為行內(nèi)元素布局。啟動該屬性的屬性為:display:inline-block width\height positon:ansolute float zoom:1
對于行內(nèi)元素佃迄,只需要
a{*zoom:1;width:100px;height:100px}
這樣一想其實有沒有這個屬性也都完全可以實現(xiàn)么泼差,但是就是因為這個屬性的出現(xiàn),所以就帶來了一系列的問題呵俏。

  • IE6/7hasLayout的標簽擁有高度
    在IE6堆缘、7中如果觸發(fā)一個元素的hasLayout會使他擁有高度,即使內(nèi)容為零普碎。
    div{ width: 100%;*height: 0;_overflow:hidden;}
    設(shè)置完寬度后吼肥,會觸發(fā)hasLayou,然后需要做的就是設(shè)置高度為0麻车,設(shè)置溢出為隱藏缀皱。
  • IE6、7當(dāng):form>[haslayout]元素有margin-left時动猬,子元素中的[input|textarea]出現(xiàn)2×margin-left啤斗。
    form div{
    width: 100%;
    margin-left: 100px;
    }
    input,textarea{//解決辦法
    *margin-left: -100px;
    }
  • IE6、7 中4條邊框赁咙,其中一條寬度明顯大于其他三條邊钮莲,效果誤差
    p{
    width: 100px;
    border: 1px dotted #000;
    border-left-width:4px ;
    }
    IE9

    IE678.jpg

    解決辦法:
    <div><p>ddededede</p></div>
    p{
    width: 100px;
    border: 1px dotted #000;
    border-left-width:0px ;
    }
    div{
    border-left: 4px dotted #000;
    }
    解決.jpg
  • ** IE:6、7當(dāng)子元素有position:relative的時候彼水,父元素設(shè)置overflow:[hidden|auto]相當(dāng)于給子元素設(shè)置overflow:visible**
    解決辦法:給父元素設(shè)置position:relative
  • IE:7:hover偽類不能改變有position:absolute的子元素的left與top值
    .con:hover .vise{
    left: 0;
    }
    解決辦法:
    1崔拥、把top/left的值設(shè)置成初0%外所有百分值。
    2凤覆、或添加一個margin-[所有方向]除零與0%外所有值链瓦。
    .con:hover .vise{
    left: 0;
    margin-left: 1px;
    }
    但是IE6不支持這個選擇器。
  • IE8:focus+selector{}選擇器失敗
    :focus+p{
    font-weight:bold ;
    font-size: 200%;
    }
    當(dāng)一個元素獲得焦點后盯桦,讓他的下一個兄弟元素進行加粗與放大慈俯。但是在IE6、7中均不能實現(xiàn)俺附。在IE8中只有當(dāng)元素獲得焦點又失去焦點時肥卡,才顯示。解決辦法:
    :focus+p{
    font-weight:bold ;
    font-size: 200%;
    }
    :focus{}
    在之后在添加一個空選擇器事镣。
  • 列表中混亂的浮動:在list中浮動圖片時步鉴,圖片溢出正常位置揪胃,或沒有l(wèi)ist-style
    解決辦法:
    1、li{overflow:hidden}包圍列表內(nèi)的浮動元素氛琢。
    2喊递、li{background:url() left norepeat 0.5em}左置為圖標。
    3阳似、li{padding-left:2em骚勘;}設(shè)置左邊的內(nèi)邊距,流出背景圖片顯示撮奏。
    這個問題比較普遍俏讹,就不區(qū)分瀏覽器啦。
  • th不會繼承上級元素的text-align
    這個我在IE8以上的IE瀏覽進行測試畜吊,發(fā)現(xiàn)th內(nèi)的文本總是居中泽疆。
    table{text-align:left};th{text-align:inherit}
  • 樣式(link、style玲献、@import)的個數(shù)
    在IE6~9這幾版瀏覽器中只支持31個這樣的樣式標簽殉疼,到第32個就不支持啦。
  • IE7:hover時若background-color:#fff失效
    這個我測試之后捌年,發(fā)現(xiàn)IE7是可以的瓢娜,可能我的ietester有問題,不知道啊礼预,但是原文作者給的解決方法有兩個
    1眠砾、寫成background
    2、#fff或#fffffff改為其他顏色逆瑞。
    IE6不支持這個選擇器
  • IE6荠藤、7忽略>后有注釋的選擇器
    html>/**/body div{……}
    IE6伙单、7瀏覽器渲染時获高,忽略注釋后面的選擇器,導(dǎo)致結(jié)果渲染不到IE6吻育、7
  • IE6中PNG圖片中的顏色和背景色的值相同念秧,但顯示不同
    div{ height:100px;background: url(../../../LG/image/arr.png) red no-repeat;}
  • IE8使用偽類[first-line|first-letter]屬性的值中出現(xiàn)!important會使屬性失效
    解決辦法:那就不用唄布疼,專家建議摊趾,說還是少用比較好。
    這個選擇器IE6不支持這個選擇器
  • IE6 :first-letter失效
    這個測試時游两,我的IEtester是不是真的有問題砾层,我的IE6根本就不支持:first-letter這個偽類。剛剛查了w3c說所有主流瀏覽器都支持這個贱案,還有剛才那個hover也都支持肛炮,莫非我的ietester真的出了問題。
    直接解決辦法吧:h1,p:first-letter{……}
    原文作者描述出現(xiàn)問題的原因是p:first-letter侨糟,h1{……}
  • IE6position:absolute元素中碍扔,a:display:block,在非:hover時,只有文本可以點擊
    解決辦法:background:url(任何頁面中已經(jīng)緩存的文件鏈接)秕重,不推薦不同,因為會增加以下http請求。
  • IE6溶耘、7在ul>li>a中二拐,li不設(shè)置float,a設(shè)置display:block;float:left,li不水平對齊
    解決辦法:給li設(shè)置display:inline;或float方向凳兵。
  • IE6dt,dd,li{background:red}背景失效
    這個我的IE6也沒出問題卓鹿,估計真的是有毛病,大家可以自己測試留荔。
    解決辦法:dt,dd,li{background:red;position:relaitive}
  • IE6/7/8<noscript>元素在啟用js的情況下顯示了樣式
    利用js為<noscript>動態(tài)添加display:none樣式
  • IE6吟孙、7、8使用filter處理的透明背景圖片的透明部分不可點擊
    解決辦法:把background:none變?yōu)閎ackground:url(#)鏈接到圖片與本身之外的任何文件聚蝶。
  • IE li內(nèi)元素偏離baseline向下偏離
    這個最頭痛杰妓,因為一般我都是將li設(shè)置浮動,所以基本上就沒有考慮過這個碘勉。大家測試一下就知道了巷挥,在IE上會嚇一跳的
    解決辦法就是
    li{
    float: left;
    width: 100%;
    }
    li a{
    display: block;
    background: red;
    }
    這樣就能達到最簡單的垂直菜單的效果。
    但是水平菜單時验靡,
    li{
    float: left;
    padding-left:2px ;
    }
    li a{
    display: block;
    padding:0 20px;
    background: brown;
    height: 40px;
    _float:left;
    line-height: 40px;
    color: #fff;
    text-decoration: none;
    }
    這個之前做導(dǎo)航的時候發(fā)現(xiàn)的
  • 在IE6倍宾、7中,當(dāng)為ul與ol設(shè)置寬度后胜嗓,會導(dǎo)致list-style不顯示
    解決辦法:給li添加margin-left高职,留出地方顯示,不是給ul啊
  • IE6辞州、7圖片不能垂直居中
    div {
    width: 150px;
    height: 155px;
    line-height: 155px;
    border: 1px solid #000;
    background: #f00;
    text-align: center;
    }
    img {
    vertical-align: middle;
    }
    span {
    display: inline-block;
    }
    解決辦法:在img標簽后怔锌,加一個空標簽,并使他擁有布局变过。
    <div>
    <img src="../../../LG/image/ff8080814ae248bd014ae65dcc97004e.jpg"/>
    <span id=""></span>
    </div>
  • ** IE6埃元、7、8不能自定義指針樣式**
    引起兼容問題的寫法:
    div{
    height: 500px;
    width: 500px;
    margin: 20px auto;
    cursor: url(cursor.cur), crosshair;
    background: #f00;
    }
    解決辦法:給指針文件設(shè)置絕對路徑
    div{
    height: 500px;
    width: 500px;
    margin: 20px auto;
    cursor: url(/demos/cursor/b/cursor.cur), crosshair;
    background: #f00;
    }
  • IE6背景溢出媚狰,拖動滾動條后顯示正常岛杀。
    這個說的太含糊啦,我還是上圖吧
    <div id='container' style="background: #abc;">
    <p id='bugger'>floated</p>
    <p>
    ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffddddddddddddddddddddd
    </p>
    <div style="clear: both;"></div>
    </div>
    <div>give me</div>
    #bugger{float:left;backgroung:red}
IE6是這樣呈現(xiàn)的.jpg
IE6拖動左邊垂直滾動條.jpg

解決辦法:
#container:{overflow:hidden;zoom:1;}

  • IE6中將height與width當(dāng)做min-height與min-width渲染
    解決辦法:_overflow:hidden;
  • IE6雙倍邊距
    這個是最經(jīng)典的IE6最經(jīng)典的bug之一崭孤。
    出現(xiàn)在父元素與子元素之間类嗤,子元素同時設(shè)置了浮動與邊距屬性衫生,那么IE6中子元素會出現(xiàn)雙倍邊距的現(xiàn)象。
    解決辦法:為浮動元素設(shè)置為行內(nèi)元素
  • IE6土浸、7margin負值隱藏罪针,haslayout的父元素內(nèi)非haslayout元素,使用負邊距黄伊,超出父元素部分可見
    <div id='container'>
    <div id="inner">
    <p>1</p> <br />
    <p>2</p> <br />
    <p>3</p> <br />
    </div>
    </div>
    #container{
    margin: 2em auto 0.5em;
    padding: 2em 0;
    width: 80%;
    border: 1px solid red;
    }
    #inner{
    margin: -4em 2em 0;
    }
  • 在IE6泪酱、7中子元素超出父元素的部分不可見。
    這個出現(xiàn)的原因是还最,為父元素設(shè)置了寬度后墓阀,導(dǎo)致父元素擁有布局,隱藏了超出父元素的內(nèi)容拓轻。
    解決辦法:為子元素賦予布局斯撮,然后設(shè)為相對定位。
  • IE6中兩個浮動元素扶叉,被放在一個固定寬度的容器內(nèi)勿锅,且二者都被固定了寬度,這時候左邊浮動元素內(nèi)布置斜體內(nèi)容枣氧,會將右邊浮動元素擠下去
    原因:斜體元素靠近在靠近右邊界是溢十,會由于自身斜體原因,擴出邊界达吞,進而導(dǎo)致在IE6中寬度會自增张弛,導(dǎo)致把右邊浮動元素擠下去。
    解決辦法:為斜體所在容器設(shè)置:overflow:hidden.
  • IE6/7float元素后可能會有3px間隔
    當(dāng)一個元素設(shè)置了寬高后酪劫,再設(shè)置內(nèi)部元素浮動吞鸭,連續(xù)幾個這樣的設(shè)置,有么能造成他們之間有3px的間隔覆糟。
    解決辦法:為包圍浮動的元素設(shè)置浮動刻剥,然后為了保持依舊的垂直排列,可以使的浮動元素的寬度為100%搪桂。
  • IE6/7text-align
    <div style="text-align: center; background: blue;">
    ddd
    <p style="width: 100px;background: red;">dd</p>
    </div>
    在現(xiàn)代瀏覽器中透敌,p里面的內(nèi)容會居中盯滚,但是p這個塊級元素并不會居中踢械。
    IE6、7,P這個塊級元素也被居中啦魄藕。
    解決辦法内列,設(shè)置p浮動。
  • IE6背率、7中l(wèi)i內(nèi)放置內(nèi)容后话瞧,會在自身高度外流出一些空白
    解決辦法:overflow:hidden;
  • IE6/7存在浮動元素折行
    css2.1中說:如果一個行內(nèi)元素浮動嫩与,則該元素浮動后,頂部與之前所在行對齊交排。
    在現(xiàn)代瀏覽其中划滋,就是照這樣的標準渲染的,如果在一對行內(nèi)元素后埃篓,來浮動一個塊級元素处坪,該塊級元素也會與行內(nèi)元素所在行的頂部對齊。
    但是IE6架专、7中同窘,卻表現(xiàn)出,折行之后又浮動的現(xiàn)象部脚。
    觸發(fā)原因:同一個復(fù)容器內(nèi)想邦,有多個行內(nèi)元素,某些為浮動委刘,某些為非浮動丧没,當(dāng)浮動的子元素不都是位于非浮動的子元素之前時,會觸發(fā)折行锡移。
    解決辦法:1骂铁、將浮動元素放在非浮動元素之前。(推薦)
    2罩抗、使用絕對定位拉庵,會導(dǎo)致破壞文檔結(jié)構(gòu)(不推薦)
    3、使用csshack套蒂,利用負邊距實現(xiàn)钞支。

我目前見過的,和在之前推薦的那篇文章里學(xué)到的操刀,大多烁挟,都在這里啦,總結(jié):實踐出真知
明年就要開始找工作啦骨坑,作為應(yīng)屆生撼嗓,沒有經(jīng)驗,只能多看書欢唾,看那些有經(jīng)驗的人的總結(jié)且警!
fighting!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末礁遣,一起剝皮案震驚了整個濱河市斑芜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌祟霍,老刑警劉巖杏头,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盈包,死亡現(xiàn)場離奇詭異,居然都是意外死亡醇王,警方通過查閱死者的電腦和手機呢燥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寓娩,“玉大人疮茄,你說我怎么就攤上這事「睿” “怎么了力试?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長排嫌。 經(jīng)常有香客問我畸裳,道長,這世上最難降的妖魔是什么淳地? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任怖糊,我火速辦了婚禮,結(jié)果婚禮上颇象,老公的妹妹穿的比我還像新娘伍伤。我一直安慰自己,他們只是感情好遣钳,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布扰魂。 她就那樣靜靜地躺著,像睡著了一般蕴茴。 火紅的嫁衣襯著肌膚如雪劝评。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天倦淀,我揣著相機與錄音蒋畜,去河邊找鬼。 笑死撞叽,一個胖子當(dāng)著我的面吹牛姻成,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播愿棋,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼科展,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了初斑?” 一聲冷哼從身側(cè)響起辛润,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎见秤,沒想到半個月后砂竖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡鹃答,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年乎澄,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片测摔。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡置济,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锋八,到底是詐尸還是另有隱情浙于,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布挟纱,位于F島的核電站羞酗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏紊服。R本人自食惡果不足惜檀轨,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望欺嗤。 院中可真熱鬧参萄,春花似錦、人聲如沸煎饼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春簸呈,著一層夾襖步出監(jiān)牢的瞬間怀大,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工痹筛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓烦周,卻偏偏與公主長得像,于是被迫代替她去往敵國和親怎顾。 傳聞我的和親對象是個殘疾皇子读慎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 13,754評論 1 92
  • 學(xué)習(xí)CSS的最佳網(wǎng)站沒有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_閱讀 1,060評論 0 1
  • ?前端面試題匯總 一槐雾、HTML和CSS 21 你做的頁面在哪些流覽器測試過夭委?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,220評論 0 8
  • 一:在制作一個Web應(yīng)用或Web站點的過程中,你是如何考慮他的UI募强、安全性株灸、高性能崇摄、SEO、可維護性以及技術(shù)因素的...
    Arno_z閱讀 1,167評論 0 1
  • 都說女兒是父母的小棉襖慌烧,可女大真是不中留逐抑。自從在外工作以來就還少回老家。有了孩子屹蚊,安了小家厕氨,回去與家人相聚的時間更...
    吉小舒閱讀 230評論 2 12