1. 程式人生 > >從零開始學習前端開發 — 7、常見瀏覽器兼容性問題及圖片整合技術

從零開始學習前端開發 — 7、常見瀏覽器兼容性問題及圖片整合技術

火狐 其中 針對 大小 webkit 最新 opacity屬性 引擎優化 pac

一、常見瀏覽器兼容性問題

1.雙倍浮動bug

描述:塊狀元素設置了float後,又設置了橫向的margin,在IE6下顯示的margin值要比設置的值大

解決方案: 給float的元素添加display:inline;將其轉換為行內元素

2.表單元素行高不一致

解決方案:

方案一: 給表單元素添加 vertical-align:middle;

方案二: 給表單元素添加 float:left;

3.IE6不識別高度小於10px的容器

解決方案:

方案一: 給元素設置 overflow:hidden;

方案二: 給元素設置 font-size:0;

4.放在超鏈接中的圖片默認有邊框(在某些瀏覽器中)

解決方案:

給圖片添加border:0;或border:none;

5.IE6不識別min-height屬性

解決方案:

方案一: min-height:100px; _height:100px;

方案二: min-height:100px; height:auto!important; height:100px;

6.圖片默認有空隙

解決方案:

方案一:給img添加float屬性 (適用於有多張圖片在一行顯示的情況)

方案二:給img添加display:block; (適用於只有一張圖片的情況)

7.百分比bug

描述:父元素寬度100%,子元素寬度50%,在IE6下50%+50%大於100%,右側的子元素會掉下來

解決方案:

給右側浮動元素清除右浮動 clear:right;

8.IE瀏覽器不識別opacity屬性

解決方案:針對IE瀏覽器寫透明度設置:

filter:alpha(opacity=數值); (取值範圍1-100)

eg: .box{
opacity:.6;
filter:alpha(opacity=60);
}

9.鼠標指針bug

描述:cursor的hand屬性只有IE瀏覽器識別,其他瀏覽器不識別

解決方案:

使用cursor:pointer;IE6及以上瀏覽器和其他瀏覽器都識別

註: cursor:pointer;是將鼠標指針的形狀設置為手型

10.按鈕默認大小不一

解決方案:

方案一:用a標簽模擬按鈕

方案二:如果按鈕是一張圖片,直接將圖片作為按鈕的背景圖片插入即可

11.上下margin重疊問題

描述:當給上面元素設置margin-bottom,給下面元素設置margin-top,此時只能識別其中較大的那個值

解決方案:

方案一:margin-top和margin-bottom只設置其中的一個值

方案二:給上面的元素外面包一個容器,並設置overflow:hidden;

二、css hack

1.概念

針對不同內核的瀏覽器出現的兼容性問題的處理方法就叫做css hack

2.過濾器

a)下劃線屬性過濾器

語法: 選擇器{_屬性:屬性值;}

eg: .box{height:150px;_height:100px;}

註:下劃線屬性過濾器只有IE6及以下版本識別,其他瀏覽器不識別

b)!important關鍵詞過濾器

語法: 選擇器{屬性:屬性值!important;}

eg: .box{background:red!important;background:blue;}

註:加!important的css屬性優先級最高,但是IE6及以下版本的瀏覽器不識別

c)*屬性過濾器

語法: 選擇器{*屬性:屬性值;}

eg: .box{background:blue;*background:pink;}

註:*屬性過濾器只有IE6,IE7識別,其他瀏覽器都不識別

d) \9

語法: 選擇器{屬性:屬性值\9;}

註: 只有IE6,7,8識別,其他瀏覽器都不識別

e) \0

語法: 選擇器{屬性:屬性值\0;}

註:IE8及以上瀏覽器識別,其他瀏覽器都不識別

三、市場主流五大瀏覽器內核

1.IE瀏覽器 內核: Trident(IE內核)

2.Mozilla Fox(火狐) 內核:Gecko

3.Safari(蘋果瀏覽器),Chrome(谷歌瀏覽器) 內核:Webkit

4.Opera(歐朋) 內核:Presto

5.最新版本的chrome瀏覽器 內核:Blink

附錄:

圖片整合技術

一、Css sprites(圖片整合技術)

概念:將多張背景圖片整合到一張背景圖中,通過background-position來實現背景圖定位技術稱為圖片整合。

我們也把圖片整合技術叫做精靈圖,雪碧圖,滑動門技術。

二、圖片整合的優勢(優點)

1.將多張圖片整合到一張圖中,減少了對服務器的請求次數,減輕了對服務器的壓力,加快了圖片的加載速度。

2.同時也減小了圖片體積,達到了網站性能的優化。

SEO優化

SEO—搜索引擎優化

分為站內優化和站外優化兩個方面

站內優化:

1.頁面標題優化

在head部分添加一個有意義的title標題

2.頁面頭部優化

在head部分添加關鍵詞和描述

<meta name="keywords" content="" /> 關鍵詞
<meta name="description" content=""/> 描述

3.超鏈接優化

a)給a標簽添加title屬性

b) 盡量避免將超鏈接放置在flash中,seo無法識別flash中的文字

c) 盡量避免使用圖片熱點鏈接

4.圖片優化

給img標簽添加alt和title屬性

5.添加網站地圖或網站導航

可以讓用戶以最快的速度找到要瀏覽的內容

6.給網站添加友情鏈接

7.靜態頁面比動態頁面更有利於搜索引擎優化

註:隨著搜索引擎的不斷改進,搜索動態頁面也會變得更加容易

8.避免"大體積"的頁面,代碼結構合理清晰

站外優化:

百度推廣

網站流量分析

網站品牌建設

從零開始學習前端開發 — 7、常見瀏覽器兼容性問題及圖片整合技術