時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)
CSS bug是布局中最頭疼的問題。我們需要兼顧各種瀏覽器,以期待獲得一致的效果。非常遺憾的是各廠商之間的競爭導致很多問題的存在。而IE6與IE7在很多問題上也存在著很大的差別。在52CSS.com大量的技術文檔中,也包含了這方面的內(nèi)容。輕松的解決CSS bug是我們必須掌握的技能,F(xiàn)在整理出最常用的12種CSS BUG解決方法以及CSS BUG類的小技巧。希望對您的學習、工作有所幫助,如果您依然有疑問,歡迎您到52CSS.com查閱、搜索相關內(nèi)容。
一、 針對瀏覽器的選擇器
這些選擇器在你需要針對某款瀏覽器進行css設計時將非常有用。
IE6及其更低版本 * html {} IE7及其更低版本 *:first-child+html {} * html {} 僅針對IE7 *:first-child+html {} IE7和當代瀏覽器 html>body{} 僅當代瀏覽器(IE7不適用) html>/**/body{} Opera9及其更低版本 html:first-child {} Safari html[xmlns*=""] body:last-child {} |
要使用這些選擇器,請將它們放在樣式之前. 例如:
#content-box { width: 300px; height: 150px; } |
四、給行內(nèi)元素定義寬度
如果你給一個行內(nèi)元素定義寬度,那么它只是在IE6下有效. 所有的HTML元素要么是行內(nèi)元素要么就好是塊元素. 行內(nèi)元素包括:<span>, <a>, <strong> 和 <em>. 塊元素包括<div>, <p>, <h1>, <form>和<li> . 你不能定義行內(nèi)元素的寬度, 為了解決這個問題你可以將行內(nèi)元素轉(zhuǎn)變?yōu)閴K元素。
span { width: 150px; display: block }
五、讓固定寬度的頁面居中
為了讓頁面在瀏覽器居中顯示, 需要相對定位外層div, 然后把margin設置為auto.
#wrapper { margin: auto; position: relative; } |
六、IE6雙倍邊距的bug
給此對象加上display:inline即可解決問題。
七、Box Model 盒模型bug的一般解決辦法
八、兩個層之間的3px間隙
九、在IE中的HTML注釋引起文字奇怪的復制
十、圖片替換技術
文字總比用圖片做標題好一些. 文字對屏幕閱讀機和SEO都是非常友好的.
HTML: <h1><span>Main heading one</span></h1> CSS: h1 { background: url(heading-image.gif) no-repeat; } h1 span { position:absolute; text-indent: -5000px; } |
你可以看到我們對標題使用了標準的<h1>作為標簽并且用css來將文本替換為圖片. text-indent屬性將文字推到了瀏覽器左邊5000px處, 這樣對于瀏覽者來說就看不見了.
關掉css,然后看看頭部會是什么!
十一、 最小寬度
IE6另外一個bug就是它不支持 min-width 屬性. min-width又是相當有用的, 特別是對于彈性模板來說, 它們有一個100%的寬度,min-width 可以告訴瀏覽器何時就不要再壓縮寬度了。
除IE6以外所有的瀏覽器你只需要一個 min-width: Xpx; 例如:
.container { min-width:300px; } |
為了讓他在IE6下工作, 我們需要一些額外的工作. 開始的時候我們需要創(chuàng)建兩個div, 一個包含另一個:
<div class="container"> <div class="holder">Content</div> </div> |
然后你需要定義外層div的min-width屬性
.container {
min-width:300px; } |
這時該是IE hack大顯身手的時候了. 你需要包含如下的代碼:
* html .container { border-right: 300px solid #FFF; } * html .holder { display: inline-block; position: relative; margin-right: -300px; } |
As the browser window is resized the outer div width reduces to suit until it shrinks to the border width, at which point it will not shrink any further. The holder div follows suit and also stops shrinking. The outer div border width becomes the minimum width of the inner div.
十二、隱藏水平滾動條
為了避免出現(xiàn)水平滾動條, 在body里
關鍵詞標簽:方法,技巧,解決,常用,
相關閱讀
熱門文章 DIV+CSS網(wǎng)頁布局常用的一些基礎知識整理
人氣排行 DIV CSS完美兼容IE6/IE7/FF的通用方法CSS實例:list-style-type在IE與FF中奇怪的現(xiàn)象解析-CSS布局實例CSS實例:通過定義漸變邊框給圖片加陰影CSS常用技巧之一 禁止文字自動換行網(wǎng)頁頁面設計中CSS十大注意解決用CSS控制DIV居中失效的問題css div設置float后高度不能自動增加讓CSS兼容IE和Firefox的技巧集合