前端開發時需要注意的要點 避免瀏覽器相容問題

2021-06-28 17:55:11 字數 2042 閱讀 3025

新手前端構架師在書寫html**時由於不太了解xhtml規範,經常會胡亂的使用html標籤進行**巢狀,導致多個瀏覽器顯示不相容。回過頭來又為修改瀏覽器bug 使用各種hack進行補救,最終是苦了自己苦了使用者。

瀏覽器的樣式bug實際上是由於每個年代的瀏覽器解析規則不一樣導致,每個年代的瀏覽器都會帶有自己的「小脾氣」,這就是為什麼自己寫出來的乙個頁面,在不同的瀏覽器中顯示的樣式都不盡相同。

在了解規範之前,我們要先了解一下瀏覽器的bug。由於微軟在瀏覽器領域一直未完全遵循w3c規範,導致ie中的各個版本都會出現不同的樣式bug。在ie中bug主要多發在ie6中,ie7會出現少量的寬度問題,ie8中的bug主要集中在濾鏡中。由於ie7、ie8的bug都比較容易解決,因此本文不多闡述。如果需要了解關於ie的常見bug與解決方法,請查閱博文「ie6中的常見bug與相應的解決辦法」。

一、頁面**的實現順序與步驟策劃

做任何事情都要先做好計畫再執行,對於寫前端**也不例外。我們在拿到美工設計的psd後,需要先對頁面結果做好足夠的分析。思考頁面分為幾大塊,我應該使用什麼樣的標籤,什麼樣浮動等等;如何將早期框架搭建起來。

如上圖所示;這是乙個類似企業**的模板,第一眼看上去內容非常複雜,但是通過對頁面的仔細觀察我們可以發現,這個頁面是由左側部分、右側部分、頁面腳部 三塊組成。

所以我們第一步需要做的是將頁面按照三個區塊搭建起來,並確定好左右平行元素的寬度,使其能夠在各瀏覽器中正常的顯示。做完這一步,我們就已經為頁面的建設打好了基礎。

後面我們就需要開始對大塊元素中的內容進行進一步區分,觀察有幾個模組,有沒有相同的模組,css樣式是否可以復用。在搭建細小模組時需要注意,盡量用塊級元素定位,float浮動元素不要與塊級元素在同一列中。如果需要在同一列中有平鋪的多個元素,請給這些元素都加上float屬性,並設定好對應的寬度。

二、了解各標籤的屬性與內建樣式

很多新手並不清楚html的各類標籤的具體含義。剛開始書寫div+css**時,大量甚至完全使用div進行布局。雖然在css中可以修改div的樣式屬性,但是這樣做帶來的問題就是**無法有效進行鑑別,容易造成閉合div的漏寫。

三、牢記瀏覽器常見bug的處理方式,在**第一次編寫時就考慮解決相容問題

其實在第一次編寫**時,就已經可以開始考慮元素的樣式是否會引起其他瀏覽器的相容問題,防範於未然。

舉個常見的例子:ie中float元素如果同時設定了margin值,此時margin的值會變為雙倍,解決辦法是在該元素中加入display:inline。已知了bug的解決辦法,我們就可以在**編寫時養成乙個習慣。比如說我們在為元素新增了float和margin值時,就為這個元素補上乙個display:inline 這樣就可以有效的避免頁面出現雙倍邊距的bug。

所以在工作中要不斷的記錄與總結瀏覽器bug的處理方式,並思考其規律與特性,在下一次編寫**時,提前加上相應的相容性bug處理的**。通過不斷的經驗積累,慢慢的會發現自己所寫的**可以正常的在各瀏覽器中展現。

四、盡可能的少用,甚至不要使用負數的margin和padding

一般使用負數的margin和padding時,都是由於樣式無法按照自己需要的方式移動,才「出此下策」。這麼做很可能會給未來的元素樣式帶來很多奇怪的bug,使後面的工作更加艱難。

如果遇到確實需要移動到一些元素之外的偏移操作,最好的方法是使用position來對元素進行定位。因為position這個屬性定義是建立元素布局所用的定位機制。任何元素都可以定位,不過絕對或固定元素會生成乙個塊級框,而不論該元素本身是什麼型別。因此我們使用position進行一些特殊的定位操作時最為理想的。

五、每一列浮動元素後,都要設定清除浮動

元素進行float操作後,會使元素浮出文件流,使其所在的父級元素無法跟隨浮動元素的高度而改變自身高度。所帶來的問題就是浮動元素超出了父級元素的包裹範圍,若後面跟隨有文字、或浮動元素,則會造成布局混亂。

因此我們在每一列的浮動元素**最後都要進行清除浮動,使整個父級元素能夠正常的包裹其內部的浮動元素,避免這些調皮的float元素四處搗亂。

最簡單的清除浮動的方法是在最後乙個浮動元素的後面加上

前端需要注意的seo

1 合理的title description keyswords 搜尋引擎對這三項的權重逐漸減小,title 強調重點即可 重要的關鍵字不要超過兩次,而且要靠前。2 不同的tilte要有所不同,description把頁面的內容高度概括,長度合適。不可過分堆疊關鍵字,不同 的頁面descriptio...

配置時需要注意的

搭建的時候肯定不會在同一臺主機上搭建。大多都是在不同的伺服器上安裝不同的角色 追蹤器主機上的 配置檔案填寫的是 當前主機的ip 儲存節點主機上的 bind addr 填的就是當前主機的ip 配置中tracker server 填的蹤器的ip和埠 儲存節點的輪詢 就是在新增一次tracker serv...

介面開發需要注意的

我們在開發 api 應該注意的幾個事項 僅供參考 1 單檔案實現多介面的形式有很多種,例如 if.elseif.或 switch 或 動態方法 也就是tp的這種訪問函式體的形式 2 對於資料的輸出最好用json,json具有相當強大的跨平台性,市場上各大主流程式語言都支援json解析,json正在逐...