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