1.HTML、XML、XHTML 有什么區(qū)別
HTML:
超文本標記語言,是語法較為松散的、不嚴格的Web語言
- 對大小寫不敏感
- 松散、簡單
- 不需要結(jié)束符 ' / '
- 不需要成對出現(xiàn)
- 用于顯示數(shù)據(jù)
XHTML:
可擴展超文本標記語言,基于XML,作用與HTML類似,但語法更嚴格。
- HTML過渡到XML的過渡版本
- 對大小寫敏感,必須小寫
- 標簽必須成對出現(xiàn)
- 單標簽必須有結(jié)束標簽 ' / '
- 屬性值必須在引號之內(nèi),不能用空值
XML:
可擴展標記語言,主要用于存儲數(shù)據(jù)和結(jié)構(gòu)
- 一種標記語言
- 可自定義標簽
- 用于傳輸數(shù)據(jù)、描述,而非顯示數(shù)據(jù)
- 是HTML的補充
2.怎樣理解 HTML 語義化
根據(jù)內(nèi)容的結(jié)構(gòu)化(內(nèi)容語義化),選擇合適的標簽(代碼語義化)便于開發(fā)者閱讀和寫出更優(yōu)雅的代碼的同時讓瀏覽器的爬蟲和機器很好地解析。
- 有利于SEO的搜索
- 用戶體驗
- 方便特殊群體的設(shè)備解析
- 便于開發(fā)和維護
- 盡可能的少用無語義標簽,如:div、span
- 在語義不明顯時,既可以使用div或者p時,盡量用p, 因為p在默認情況下有上下間距,對兼容特殊終端有利;
- 不要使用純樣式標簽,如:b、font、u等,改用css設(shè)置。
- 需要強調(diào)的文本,可以包含在strong或者em標簽中(瀏覽器預設(shè)樣式,能用CSS指定就不用他們),strong默認樣式是加粗(不要用b),em是斜體(不用i);
- 使用表格時,標題要用caption,表頭用thead,主體部分用tbody包圍,尾部用tfoot包圍。表頭和一般單元10. 格要區(qū)分開,表頭用th,單元格用td;
- 表單域要用fieldset標簽包起來,并用legend標簽說明表單的用途;
- 每個input標簽對應的說明文本都需要使用label標簽,并且通過為input設(shè)置id屬性,在lable標簽中設(shè)置for=someld來讓說明文本和相對應的input關(guān)聯(lián)起來。
3.怎樣理解內(nèi)容與樣式分離的原則
- 瀏覽器加載網(wǎng)頁頁面速度變快。分離原則下,大部分頁面代碼寫在了CSS當中,頁面體積容量變得更小。
- 網(wǎng)頁修改設(shè)計時,效率、省時。根據(jù)html標簽內(nèi)ID或class的標記,到CSS里找到相應的ID或class,可以快速替換指定位置的樣式,不會破壞頁面架構(gòu)和其他部分的樣式。
- 典型的應用就是網(wǎng)頁換膚,使用相同的 html 結(jié)構(gòu),不同的 css 樣式。
- 更好地被搜索引擎收錄。基于內(nèi)容與樣式分離的原則,html的語義化就是首要考慮的,網(wǎng)頁中語義化的標簽代碼就會更加適合搜索引擎。
- css樣式的分離,它可以根據(jù)不同的瀏覽器,達到顯示效果的統(tǒng)一。保證網(wǎng)頁架構(gòu)不變形的前提下,放心在不同瀏覽器渲染顯示樣式。
重點是寫HTML的時候先不管樣式,重點放在HTML的結(jié)構(gòu)和語義化上,讓HTML能提現(xiàn)頁面結(jié)構(gòu)或者內(nèi)容,,然后進行 css 樣式設(shè)置,減少 HTML 與 CSS 契合度(即內(nèi)容與樣式分離) ,寫JS的時候,盡量不要用JS去直接操作樣式,而是通過給元素添加刪除class來控制樣式變化(即行為分離)。
4.有哪些常見的meta標簽
看了這篇文章meta標簽的總結(jié),很詳細:
5.文檔聲明的作用?嚴格模式和混雜模式指什么?<!doctype html> 的作用?
- <!doctype html>用來定義文件類型(DTD),告訴瀏覽器該文件是屬于什么類型,用什么規(guī)范來解析文檔。
- 嚴格模式:又稱標準模式,是指瀏覽器按照 W3C 標準解析代碼。
- 混雜模式:又稱怪異模式或兼容模式,是指瀏覽器用自己的方式解析代碼。
- 如何區(qū)分:瀏覽器解析時到底使用嚴格模式還是混雜模式,與網(wǎng)頁中的 DTD 直接相關(guān)。
1、如果文檔包含嚴格的 DOCTYPE ,那么它一般以嚴格模式呈現(xiàn)。(嚴格 DTD ——嚴格模式)
2、包含過渡 DTD 和 URI 的 DOCTYPE ,也以嚴格模式呈現(xiàn),但有過渡 DTD 而沒有 URI (統(tǒng)一資源標識符,就是聲明最后的地址)會導致頁面以混雜模式呈現(xiàn)。(有 URI 的過渡 DTD ——嚴格模式;沒有 URI 的過渡 DTD ——混雜模式)
3、DOCTYPE 不存在或形式不正確會導致文檔以混雜模式呈現(xiàn)。(DTD不存在或者格式不正確——混雜模式)
4、HTML5 沒有 DTD ,因此也就沒有嚴格模式與混雜模式的區(qū)別,HTML5 有相對寬松的語法,實現(xiàn)時,已經(jīng)盡可能大的實現(xiàn)了向后兼容。( HTML5 沒有嚴格和混雜之分)
6. 瀏覽器亂碼的原因是什么?如何解決
原因:
- 比如網(wǎng)頁源代碼是gbk的編碼,而內(nèi)容中的中文字是utf-8編碼的,這樣瀏覽器打開即會出現(xiàn)html亂碼。反之網(wǎng)頁是編碼utf-8,內(nèi)容是gbk也會出現(xiàn)亂碼。
- html網(wǎng)頁編碼是gbk,而程序從數(shù)據(jù)庫中調(diào)出呈現(xiàn)是utf-8編碼的內(nèi)容也會造成編碼亂碼。
- 瀏覽器不能自動檢測網(wǎng)頁編碼,造成網(wǎng)頁亂碼。
解決方法:
- html網(wǎng)頁源代碼編碼與中文字輸入編碼一致
- 如果網(wǎng)頁設(shè)置編碼是gbk的,而數(shù)據(jù)庫儲存數(shù)據(jù)編碼格式是UTF-8的,這個時候程序查詢數(shù)據(jù)庫數(shù)據(jù)顯示數(shù)據(jù)代碼轉(zhuǎn)碼即可。
- 更改瀏覽器當前的網(wǎng)頁編碼
7.常見的瀏覽器有哪些,什么內(nèi)核
- Trident內(nèi)核代表產(chǎn)品Internet Explorer,又稱其為IE內(nèi)核。
Trident(又稱為MSHTML),是微軟開發(fā)的一種排版引擎。使用Trident渲染引擎的瀏覽器包括:IE、傲游、世界之窗瀏覽器、Avant、騰訊TT、Netscape 8、NetCaptor、Sleipnir、GOSURF、GreenBrowser和KKman等。
- Gecko內(nèi)核代表作品Mozilla
FirefoxGecko是一套開放源代碼的、以C++編寫的網(wǎng)頁排版引擎。Gecko是最流行的排版引擎之一,僅次于Trident。使用它的最著名瀏覽器有Firefox、Netscape6至9。 - WebKit內(nèi)核代表作品Safari、Chromewebkit
是一個開源項目,包含了來自KDE項目和蘋果公司的一些組件,主要用于Mac OS系統(tǒng),它的特點在于源碼結(jié)構(gòu)清晰、渲染速度極快。缺點是對網(wǎng)頁代碼的兼容性不高,導致一些編寫不標準的網(wǎng)頁無法正常顯示。主要代表作品有Safari和Google的瀏覽器Chrome。 - Presto內(nèi)核代表作品OperaPresto
是由Opera Software開發(fā)的瀏覽器排版引擎,供Opera 7.0及以上使用。它取代了舊版Opera 4至6版本使用的Elektra排版引擎,包括加入動態(tài)功能,例如網(wǎng)頁或其部分可隨著DOM及Script語法的事件而重新排版。 - 多種內(nèi)核
傲游瀏覽器3傲游瀏覽器3.0是國內(nèi)首先嘗試使用Webkit與Trident雙核心的瀏覽器。Webkit核心將使你打開網(wǎng)頁的速度更快,Trident核心則會帶給你更好的兼容性支持。除此之外,傲游3.0目前還包括智能填表、智能地址欄、彈窗過濾、在線收藏等功能。
QQ瀏覽器6.11是騰訊公司推出的新一代瀏覽器,使用極速(Webkit)和普通(Trident)雙瀏覽模式,設(shè)計了全新的界面交互及程序框架,目的是為用戶打造一款快速、穩(wěn)定、安全、網(wǎng)絡(luò)化的優(yōu)質(zhì)瀏覽器。
搜狗高速瀏覽器**搜狗瀏覽器,搜狐出品,使用高速(webkit)和兼容(Trident)雙瀏覽模式,保證良好兼容性的同時極大提升網(wǎng)頁瀏覽速度。當采用高速模式訪問網(wǎng)頁出現(xiàn)問題時,可點擊地址欄旁邊的內(nèi)核按鈕直接切換內(nèi)核,使用兼容性更佳的兼容模式正常瀏覽網(wǎng)頁。
8.列出常見的標簽,并簡單介紹這些標簽用在什么場景
(1)dl dt dd ...:用于展示一系列標題內(nèi)容的場景
代碼:
顯示:
Paste_Image.png
(2)ul li和ol li: ul li 是無序列表, ol li是有序列表
代碼如下:
<ul>求職 <li>智聯(lián)招聘</li> <li>前程無憂</li> <li>51job</li> <li>拉勾網(wǎng)</li> </ul> <ol>前端 <li>javascript</li> <li>html</li> <li>css</li> </ol>
效果是:
Paste_Image.png
(3)button:按鈕標簽
(4)strong,em,span
em:強調(diào)
strong:很重要,強調(diào)性更強(比em)
span:修飾一段文字,可以對一個元素內(nèi)的文字的一部分加上 不同的顏色等css樣式
(5)h1,h2...h6:不同級別的標簽
(6)p:段落,表示一段文字
(7)a:表示鏈接,鏈接到一個地址
跳轉(zhuǎn)到一個網(wǎng)頁地址:href是地址,target打開方式,title是光標移動到a標簽上后的提示文字<a href="http://www.jirengu.com/app/watch/1340/1?vsum=12"target="_blank" title="It's title!">饑人谷視頻</a>
焦點跳到指定id的標簽:'#' 后面就是id<a href="#id">點這里焦點將跳轉(zhuǎn)到指定Id的標簽</a>
(8)img:展示一張圖片
src:圖片地址
alt:圖片加載失敗后提示的文字
(9)div:用于給頁面劃分區(qū)塊,讓結(jié)構(gòu)更清晰
(10)iframe:用于嵌入一個頁面
<iframe src="http://jirengu.com" name="myPage"></iframe>
<p><a target="myPage">W3Cschool.cc</a></p>