摘要:本文的兼容性包含了更多的意思,一些和網(wǎng)站開發(fā)注意的實際問題。已經(jīng)快出生十年了,它就是為了解決瀏覽器的兼容性而生的,對于桌面端開發(fā)我們還是建議采用這個版本。
本文的兼容性包含了更多的意思,一些和網(wǎng)站開發(fā)注意的實際問題。對注重seo的網(wǎng)站幫助更多一些。
關(guān)于瀏覽器現(xiàn)在的前端開發(fā)已經(jīng)開始放棄兼容ie6,ie7,并且也在有條件的放棄ie8。像chrome這樣的現(xiàn)代瀏覽器對新特性支持度都很棒,只是在某些新特性上的實現(xiàn)方式并不太統(tǒng)一。
這是百度統(tǒng)計最近六個月的數(shù)據(jù),ie6和ie7合起來還是有9.03%,360是被統(tǒng)計到各種內(nèi)核中了。
而現(xiàn)在需要我們考慮的就是ie瀏覽器了。對于ie6,ie7需要去寫很多hack代碼,非常丑陋并且還要花費大把的時間去調(diào)試,然而現(xiàn)在真正使用這兩個瀏覽器的人卻是不多的,與其這樣還不如把精力投入到大部分用戶群體上,為他們提供更好的體驗。
所以是時候放棄兼容他們了,但是我們也不能把使用這兩個瀏覽器的用戶放棄掉,所以我們應(yīng)該加一些讓他們更新瀏覽器的提示,像下面這樣:
之所以把喜愛的chrome放到后面,是因為既然他們正在使用低版本瀏覽器就并不太會使用chrome,而國產(chǎn)瀏覽器更適合大多數(shù)人使用
文檔模式ie8在win7和XP下的表現(xiàn)也是不同的,因為文檔模式,在舊有的文檔模式下,并不能正確識別HTML5的新標(biāo)簽。這是最近六個月的操作系統(tǒng)統(tǒng)計數(shù)據(jù):
首先在head加文檔模式的選擇,和瀏覽器內(nèi)核的選擇
而xp系統(tǒng)下的ie8并沒有edge文檔模式,所以這里使用modernizr,它能讓你放心使用HTML5標(biāo)簽,并且還能檢測瀏覽器的能力,根據(jù)不同的能力來實現(xiàn)不同的東西。壓縮版已經(jīng)足夠小了,這里把它放到頭部。
顯示分辨率
現(xiàn)在屏幕的分辨率也是各種尺寸了,下面是各種分辨率的統(tǒng)計數(shù)據(jù):
大屏已經(jīng)是趨勢了,但是1024*768這個附近應(yīng)該還有不少,分辨率這個問題我們不能像瀏覽器那樣提示更換顯示器吧,畢竟有不小成本,所以還是要借助代碼來實現(xiàn)響應(yīng)式,對于比較復(fù)雜的網(wǎng)頁實現(xiàn)1200px和1000px就可以了,因為桌面端的網(wǎng)站并不適合手機端,就算你使用響應(yīng)式,也存在很多其他問題。尤其ie8并不能識別@media語法,所以要借助Respond.js
到這里我們的頭部看起來是這樣的:
css樣式和Jquery網(wǎng)站建設(shè)
現(xiàn)在的前端開發(fā)已經(jīng)翻天覆地了,less和sass大行其道,沒有使用小伙伴趕快嘗試吧。css3的新屬性需要寫很多兼容方式,想下面這種寫法應(yīng)該很煩了吧。
.gradient{ background: -moz-linear-gradient(top, #000000 0%, #ffffff 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#000000), color-stop(100%,#ffffff)); background: -webkit-linear-gradient(top, #000000 0%,#ffffff 100%); background: -o-linear-gradient(top, #000000 0%,#ffffff 100%); background: -ms-linear-gradient(top, #000000 0%,#ffffff 100%); background: linear-gradient(to bottom, #000000 0%,#ffffff 100%); }
所以我們要感謝Autoprefixer這樣的工具,這里借助自動化方案結(jié)合它使用是很爽的。只要寫標(biāo)準(zhǔn)的方式即可,其他的都交給它吧。
.gradient{ background: linear-gradient(to bottom, #000000 0%,#ffffff 100%); }
Jquery已經(jīng)快出生十年了,它就是為了解決瀏覽器的兼容性而生的,對于桌面端開發(fā)我們還是建議采用jquery-1.11.1這個版本。而我們也很清楚它的性能并不高,比原生的js性能最多能差出幾十倍,所以我們也不一定并非要使用它,要根據(jù)自己網(wǎng)站的真實用戶統(tǒng)計數(shù)據(jù)來決定未來的解決方案,不斷的引導(dǎo)自己網(wǎng)站用戶使用更新的瀏覽器,當(dāng)?shù)投藶g覽器的份額足夠低的時候,就是你可以拋棄jquery的時候了。
網(wǎng)站性能網(wǎng)站性能其實也能和兼容性搭上個邊,服務(wù)器開啟gzip,前端壓縮合并各種靜態(tài)資源,一方面減輕了整個網(wǎng)站的大小,同時也能減輕http的請求數(shù)量,而這對于性能不夠好的瀏覽器能更好的減輕他們的負(fù)擔(dān)。
而關(guān)于這方面的東西都是需要結(jié)合自動化解決方案的,這方面的文章請看fouber老師的個人博客
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/9009.html
摘要:的全局變量看起來很好用,但稍有不慎,很容易被套住。比如如果一個簡單的配置文件如下當(dāng)我們想要使用這個的時候,都知道使用就行了。沒錯,這樣可以。 php 的全局變量看起來很好用,但稍有不慎,很容易被套住。 比如: 如果一個簡單的php配置文件如下: $name=Yi_Zhi_Yu; 當(dāng)我們想要使用這個$name的時候,都知道使用include就行了。沒錯,這樣可以。但假如我想把這個$nam...
摘要:依賴注入在應(yīng)用程序啟動時提供服務(wù)。我們可以通過在類的構(gòu)造方法或方法中包含適當(dāng)?shù)慕涌谧鳛閰?shù)來請求這些服務(wù)。方法只能接受參數(shù),但是可以從這個集合中檢索任何已注冊的服務(wù),因此不需要額外參數(shù)。使用在啟動方法中提供需要的任何服務(wù)。 這個是我在面試中遇到的一道面試題,記錄下來分享給大家。 簡單說ConfigureServices是配...
摘要:而類的實例并不會影響類的靜態(tài)變量,只是會修改對象實例本身的值,所以后面兩個的結(jié)果總是同樣,如果我們使用和結(jié)果也將僅僅是靜態(tài)變量變化后的結(jié)果,與類的實例無關(guān)以上是對和的暫時做的了解的總結(jié),如有紕漏,請及時指正 概念 python 的classmethod 與staticmethod 這兩個有什么區(qū)別? 二者又有什么聯(lián)系?在google和baidu之后, 得到的大致的聯(lián)系就是二者都是對類的...
摘要:話說當(dāng)下一共有種運行模式,分別是和模塊模式。使用,全稱進(jìn)程管理器進(jìn)行管理。工作原理啟動時載入進(jìn)程管理器進(jìn)程管理器自身初始化,啟動多個解釋器進(jìn)程并等待來自的連接當(dāng)客戶端請求到達(dá)時,進(jìn)程管理器選擇并連接到一個解釋器。 我們知道 workerman 程序需要在php-cli模式下運行,也就是命令行模式,這塊我們有必要了解一下。 話說PHP當(dāng)下一共有4種運行模式,分別是CGI、FastCGI、...
摘要:對于日志級別的分類,有以下參考表示需要立即被處理的系統(tǒng)級錯誤。注意日志的切片設(shè)置,以免文件過大不方便操作。過期的日志定期清理。 本文首發(fā)于泊浮目的專欄:https://segmentfault.com/blog... 前言 前陣子在論壇上看到一個問題,大致的意思就是日志該怎么打?或者說是,我們應(yīng)該在日志中打印出哪些內(nèi)容? 看了該問題,筆者真是有所感慨:從實習(xí)到現(xiàn)在,從接的外包小項目到...
閱讀 3577·2023-04-26 02:05
閱讀 2021·2021-11-19 11:30
閱讀 4230·2021-09-30 09:59
閱讀 3184·2021-09-10 10:51
閱讀 2614·2021-09-01 10:30
閱讀 1496·2021-08-11 11:20
閱讀 2626·2019-08-30 15:54
閱讀 572·2019-08-30 10:49