摘要:是文件的第一行代碼,意味著它的前面有注釋都不行。所以要要寫在標(biāo)簽前面,而且它不屬于標(biāo)簽。為了兼容以前的網(wǎng)站,所以產(chǎn)生了,瀏覽器會(huì)按照標(biāo)準(zhǔn)以前的簡(jiǎn)析方式去工作。但是他們?cè)谶^期時(shí)間上有區(qū)別
[1: What does a doctype do?]
1: doctype是html文件的第一行代碼,意味著它的前面有注釋都不行。所以要要寫在標(biāo)簽前面,而且它不屬于html標(biāo)簽。 2: doctype的作用是告訴瀏覽器以哪種模式去渲染當(dāng)前的這個(gè)html文件 3: doctype可能的取值有哪些?目前來說總共有8種: 1: HTML5 2: HTML 4.01 Scrict 3: HTML 4.01 Transitional 4: HTML 4.01 Frameset 5: XHTML 1.0 Strict 6: XHTML 1.0 Transitional 7: XHTML 1.0 Frameset 8: XHTML 1.1
那么以上不用的doctype之間的差別有哪些呢?我總結(jié)了一張表:
[2: What"s the difference between full standards mode, almost standards mode and quirks mode?]
1: 三者的差別
1: full standards mode
HTML和CSS的行為完全(幾乎是完全)按照W3C制定的標(biāo)準(zhǔn)。
2: quirks mode
HTML和CSS的行為不按照W3C的標(biāo)準(zhǔn),就跟在Netscape Navigator 4和Internet Explorer 5一樣
3: almost standards mode
HTML和CSS的行為幾乎按照W3C制定的標(biāo)準(zhǔn),但是有極少部分的行為與quirks mode一樣
2: 三種模式產(chǎn)生的歷史原因
在W3C標(biāo)準(zhǔn)制定之前,就已經(jīng)有很多網(wǎng)站跑在Netscape Navigator 和Internet Explorer上了,如果瀏覽器都按照W3C的標(biāo)準(zhǔn)去實(shí)現(xiàn)的話,以前的那些網(wǎng)站就會(huì)壞掉。為了兼容以前的網(wǎng)站,所以產(chǎn)生了quirks mode,瀏覽器會(huì)按照W3C標(biāo)準(zhǔn)以前的簡(jiǎn)析方式去工作。
3: 瀏覽器怎么知道按哪種模式去解析
瀏覽器根據(jù)doctype來確定處于哪種模式!引發(fā)不同模式的doctype在不同的瀏覽器下面會(huì)不一樣。但是有一條相同的就是:沒有doctype,在任何瀏覽器下面都會(huì)引發(fā)quirks模式。所以千萬不要那樣做,just don"t!
不同的瀏覽器的不同模式引發(fā)的原因可以參考:
https://hsivonen.fi/doctype/#...
3: What"s the difference between HTML and XHTML?
4: Are there any problems with serving pages as application/xhtml+xml?
5: How do you serve a page with content in multiple languages?
6: What kind of things must you be wary of when design or developing for multilingual sites?
7: What are data- attributes good for?
8: Consider HTML5 as an open web platform. What are the building blocks of HTML5?
9: Describe the difference between a cookie, sessionStorage and localStorage.
1: 先直觀地感受一下三者的用法
1:cookie
//定義一個(gè)cookie document.cookie = "username=John Doe; expires=Thu, 18 Dec 2019 12:00:00 UTC; path=/"; //定義第二個(gè)cookie document.cookie = "age=16; expires=Thu, 18 Dec 2019 12:00:00 UTC; path=/"; //獲取cookie document.cookie; //"username=John Doe; age=16"
cookie的定義和獲取都是字符串,當(dāng)定義了多個(gè)cookie的時(shí)候,document.cookie會(huì)把所有的cookie放在一個(gè)字符串里面返回,以分號(hào)分隔。
2: localStorage
//往localStorage里面創(chuàng)建第一個(gè)item localStorage.setItem("name", "rose"); //往localStorage里面創(chuàng)建第二個(gè)item localStorage.setItem("age", 15); //讀取第一個(gè)item localStorage.getItem("name"); //"rose" //讀取第二個(gè)item localStorage.getItem(""age); //15
3: sessionStorage
//往sessionStorage里面創(chuàng)建第一個(gè)item
sessionStorage.setItem("name", "rose"); //往localStorage里面創(chuàng)建第二個(gè)item sessionStorage.setItem("age", 15); //讀取第一個(gè)item sessionStorage.getItem("name"); //"rose" //讀取第二個(gè)item sessionStorage.getItem(""age); //15
從以上可以看出,localStorage和sessionStorage的用法是一樣的。但是他們?cè)谶^期時(shí)間上有區(qū)別:
10: Describe the difference between