8AV国产精品爽爽Va在线观看_国产精品视频免费播放_综合精品综合一区二区_蜜臀福利视频免费观看

品優(yōu)網(wǎng)絡(luò) 十六年(2003-2018)專注
網(wǎng)站建設(shè)之讓W(xué)3C標(biāo)準(zhǔn)兼容終端
日期:2014-12-21 作者:admin 來(lái)源: 瀏覽次數(shù):0 網(wǎng)友評(píng)論 0

企業(yè)網(wǎng)站推廣1

網(wǎng)站建設(shè)之讓W(xué)3C標(biāo)準(zhǔn)兼容終端
 
發(fā)布日期:2010-2-9 20:34:0 發(fā)布者:飛鳥網(wǎng)站建設(shè) 頁(yè)面功能: 【字體:大 中 小】  

接著上一篇,統(tǒng)一思想,遵循標(biāo)準(zhǔn)。如何遵循標(biāo)準(zhǔn),其實(shí)標(biāo)準(zhǔn)有很多,結(jié)構(gòu)標(biāo)準(zhǔn),表現(xiàn)標(biāo)準(zhǔn),行為標(biāo)準(zhǔn)。選擇標(biāo)準(zhǔn)規(guī)范,就優(yōu)先選擇W3C推薦的標(biāo)準(zhǔn)。
結(jié)構(gòu)標(biāo)準(zhǔn)可選項(xiàng)看下維基百科的HTML推薦標(biāo)準(zhǔn)都有哪些:N多標(biāo)準(zhǔn),建議選擇適合你公司和團(tuán)隊(duì)的標(biāo)準(zhǔn),其實(shí)核心理念還是讓項(xiàng)目統(tǒng)一遵循一個(gè)標(biāo)準(zhǔn),嚴(yán)格的XHTML是這樣的。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "">
<html xmlns="" xml:lang="en" lang="en">
  <head>
    <title>Virtual Library</title>
  </head>
  <body>
    <p>Moved to <a href="">example.org</a>.</p>
  </body>
</html>

XHTML的媒體類型是application/xhtml+xml ,而不是被大多設(shè)備都識(shí)別的text/html。增加xml頭部聲明還會(huì)造成IE6的quirks模式??偟脕?lái)說(shuō),不是通用性很強(qiáng)的標(biāo)準(zhǔn),使用的時(shí)候需要舍棄W3C的一些說(shuō)明,改良后的應(yīng)該是去掉xml聲明,去掉媒體類型是application/xhtml+xml。不要給你們團(tuán)隊(duì)的開發(fā)造成不必要的困擾。

<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "">
<html lang="en-US" xml:lang="en-US" xmlns="">
<head>
<title>Introduction to HTML</title>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
</body>
</html>

我這里建議選擇XHTML1.0標(biāo)準(zhǔn)的過(guò)渡型,如果你覺(jué)得XHTML過(guò)于花俏,不適用,HTML4.0的嚴(yán)格型也是很好的選擇。HTML2.0已經(jīng)被HTML5所取代,貌似看起來(lái)HTML4還是更具有向后的延續(xù)性。

其實(shí)上面所說(shuō)的,也就是讓W(xué)3C標(biāo)準(zhǔn)兼容終端,本應(yīng)該終端按照W3C規(guī)非凹復(fù)開發(fā)解析器,但是種種的原意,終端各持己見(jiàn),置W3C標(biāo)準(zhǔn)于不顧,而用戶體驗(yàn)永遠(yuǎn)是前幾位的。所以我們既然遵循標(biāo)準(zhǔn),又要兼容終端。
我們不是標(biāo)準(zhǔn)的制定者,**是實(shí)施者。就要考慮到項(xiàng)目的用戶群體的特性,使用哪個(gè)終端多一點(diǎn),顯而易見(jiàn),IE6的使用者仍然是大多數(shù)的。而且XHTML的嚴(yán)格定義方式不符合IE6的解析方式。通過(guò)權(quán)衡,即選擇了W3C的推薦標(biāo)準(zhǔn),雖然不是更新的,也兼容了現(xiàn)有終端的情況。
廢話有點(diǎn)多了,概要的說(shuō)明一下,選擇一個(gè)適合項(xiàng)目大多數(shù)用戶終端的標(biāo)準(zhǔn),就HTML來(lái)說(shuō),4.0和xhtml1.0(改良后)都是不錯(cuò)的,但是要遵循HTML的結(jié)構(gòu)化和語(yǔ)義化的要求,標(biāo)簽必須小寫,閉合合理,嵌套正確,摒棄表現(xiàn)型標(biāo)記,結(jié)構(gòu)代碼和表現(xiàn)代碼分離。html1.0也可以編寫成xml結(jié)構(gòu)化的狀態(tài),即時(shí)沒(méi)有xml聲明。

CSS是更頭疼的一塊,如果嚴(yán)格按照W3C的css2.1規(guī)范,是很難兼容到IE系列瀏覽器的,特別是IE5.5 IE6兩種,他們的解析和W3C相差甚遠(yuǎn),所以CSS文件就必須進(jìn)入hack,一種是css自身的私有屬性和私有識(shí)別的代碼,一種是IE瀏覽器特有的條件注釋。細(xì)節(jié)就不多講了。
如何既遵循標(biāo)準(zhǔn),有兼容瀏覽器。那就是使用符合標(biāo)準(zhǔn)或者近似符合的瀏覽器作為主要開發(fā)軟件,我建議安裝有firebug插件的firefox作為前幾個(gè)調(diào)試工具,等界面完成后,再調(diào)試其他瀏覽器,通過(guò)csshack或者條件注釋,或者兩者混搭。
理想的CSS兼容方案是,IE8,firefox這類通過(guò)Acid2 測(cè)試的瀏覽器使用標(biāo)準(zhǔn)的CSS代碼,對(duì)沒(méi)有通過(guò)測(cè)試的(就是IE系列)使用條件注釋。例如:

<link rel="stylesheet" type="text/css" href="w3c.css" />
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="ie7.css" />
<![endif]-->
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="ie7lt.css" />
<![endif]-->

IE5.5的份額太少,可以考慮不兼容,兼容也主要是盒模型上的兼容。
理想的終究會(huì)存在很多現(xiàn)實(shí)的問(wèn)題,比如IE的請(qǐng)求數(shù)過(guò)多,這是速度上的損失,代碼維護(hù)不方面,同一個(gè)頁(yè)面需要維護(hù)多個(gè)css文件,容易產(chǎn)生遺漏,避免這兩個(gè)因素,css hack是做好的方式,主樣式+私有樣式解決兼容問(wèn)題。
針對(duì)IE,常見(jiàn)bug的處理,haslayout的觸發(fā),放在標(biāo)準(zhǔn)CSS代碼的后面。比如:

.clearfix:after{content:"\0020"; display:block; height:0; clear:both;}
.clearfix{*zoom:1;/*IE haslayout*/}
.box {float:left;margin-left:20px;_display:inline;/*雙倍margin bug*/}

以后的瀏覽器對(duì)CSS的處理都采用W3C css2.1規(guī)范為主,私有屬性為輔的策略,比如firefox的-moz-,IE8的-ms-,sefari和Chrome的-webkit-,Opera的-o-。

Javascript的標(biāo)準(zhǔn)兼容終端,我不是很清楚,基本的還可以看出,應(yīng)用W3C的DOM操作文檔樹,而不是IE的document.all,摒棄IE的Jscript和VBscript。而且JS是可以去判斷終端的,實(shí)例:

var ua = navigator.userAgent.toLowerCase();
    var _isOpera = ua.indexOf('opera') != -1,
        _isSafari = ua.indexOf('safari') != -1,
        _isGecko = !_isOpera && !_isSafari && ua.indexOf('gecko') > -1,
        _isIE = !_isOpera && ua.indexOf('msie') != -1,
        _isIE6 = !_isOpera && ua.indexOf('msie 6') != -1,
        _isIE7 = !_isOpera && ua.indexOf('msie 7') != -1;

通過(guò)終端的判斷,給IE開小灶,解決IE 的兼容問(wèn)題。

if (_isIE6) { // IE6
    //語(yǔ)句
}

DHTML的歷史遠(yuǎn)遠(yuǎn)大于現(xiàn)在所說(shuō)的富客戶端,很多經(jīng)驗(yàn)組建都源自于早期的IE平臺(tái)上的DHTML,如何保持JS主體代碼的標(biāo)準(zhǔn)化和對(duì)IE系列的兼容,我自己還需要再積累積累。

更后,為什么很多團(tuán)隊(duì)要求將firefox作為開發(fā)環(huán)境,待代碼完成后再進(jìn)行IE系列的bug調(diào)試。就是基于這個(gè)思想,先按照W3C標(biāo)準(zhǔn)規(guī)范編碼,再處理對(duì)標(biāo)準(zhǔn)支持不好的瀏覽器的。這樣你才能理解為什么把IE的錯(cuò)誤解析成為bug,而且頁(yè)面工程師的教材也接近統(tǒng)一,那就是W3C的文檔,那是我們**的教材。向后,終端都尊重了W3C標(biāo)準(zhǔn),IE8就是很好的例子。

網(wǎng)站建設(shè)之讓W(xué)3C標(biāo)準(zhǔn)兼容終端,謝謝閱讀。

企業(yè)網(wǎng)站推廣2

查看更多寧波網(wǎng)站建設(shè)網(wǎng)站建設(shè)終端標(biāo)準(zhǔn)

寧波網(wǎng)站建設(shè) (http://www.sdjianlida.com/) 版權(quán)與免責(zé)聲明
    1、凡本網(wǎng)注明“來(lái)源:寧波品優(yōu)網(wǎng)絡(luò)”字樣的所有作品,版權(quán)均屬于浙江省寧波海曙品優(yōu)網(wǎng)絡(luò)技術(shù)有限公司,如需轉(zhuǎn)載、摘編或利用其它方式使用上述作品,請(qǐng)與本網(wǎng)聯(lián)系。
    2、凡本網(wǎng)注明“來(lái)源:XXX(非寧波品優(yōu)網(wǎng)絡(luò))”的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。寧波網(wǎng)站建設(shè)的轉(zhuǎn)載僅為信息的廣泛傳播,如有侵權(quán)請(qǐng)及時(shí)告之刪除。
返回:寧波網(wǎng)站建設(shè)