一、HTML、XML、XHTML 有什么區別
- html即是超文本標記語言(Hyper Text Markup Language),是最早寫網頁的語言,但是由于時間早,規范不是很好,大小寫混寫且編碼不規范;
- xhtml即是升級版的html(Extensible Hyper Text Markup Language),對html進行了規范,編碼更加嚴謹純潔,也是一種過渡語言,html向xml過渡的語言;
- xml即時可擴展標記語言(Extensible Markup Language),是一種跨平臺語言,編碼更自由,可以自由創建標簽。
- 網頁編碼從html>>xhtml>>xml這個過程發展。
html與xhtml之間的區別:
可以參考這個網頁:http://www.dreamdu.com/xhtml/html_xhtml/
1、xhtml對比與html,xhtml文檔具有良好完整的排版,體現在兩方面:a、元素必須要有結束標簽;b、元素必須嵌套;
2、對于html的元素和屬性,xhtml必須小寫,因為xml是嚴格區分大小寫的,<li>和<LI>是不同的標簽;
3、 xhtml的屬性值必須在引號之中;
4、xhtml不支持屬性最小化,什么是屬性最小化了? 正確:非最小化屬性(unminimized attributes) <input checked="checked"> 不正確:最小化屬性(minimized attributes) <input checked>
5、在xhtml中,name屬性是不贊成使用的,在以后的版本中將被刪除。
再說說為什么網頁編碼要從html>>xhtml>>xml這么發展?
話說早起的網頁使用html語言編寫的,但是它擁有三個嚴重的缺點:
1、編碼不規范,結構混亂臃腫,需要智能的終端才能很好的顯示;
2、表現和結構混亂,不利于開發和維護;
3、不能使用更多的網絡設備,比如手機、PDA等;
因此HTML需要發展才能解決這個問題,于是W3C又制定了XHTML,XHTML是HTML向XML 過度的一個橋梁。而xml是web發展的趨勢。
二、怎樣理解 HTML 語義化
語義化的含義就是用正確的標簽做正確的事情,html語義化就是讓頁面的內容結構化,便于對瀏覽器、搜索引擎解析;在沒有樣式CCS情況下也以一種文檔格式顯示,并且是容易閱讀的。搜索引擎的爬蟲依賴于標記來確定上下文和各個關鍵字的權重,利于 SEO。使閱讀源代碼的人對網站更容易將網站分塊,便于閱讀維護理解。
三、怎樣理解內容與樣式分離的原則
1)網頁分離
一個網頁分為三個部分:Html——結構,css——表現,javascrip——行為。內容也就是html,樣式也就是css。所以內容和樣式的分離,就是指在網頁編碼的過程中,要將html和css兩大部分分開。
2)如何實現
內容與樣式分離的原則的實現,一個是要依靠意識,另一個是依靠經驗。
舉例而言,面對一個分塊明顯的網頁設計圖時:
-初級的開發人員思路及制作方法:div 層層嵌套;
-中級的開發人員思路及制造方法:去掉多余的 div ,進行簡化;
-高級的開發人員思路及制造方法:最大化的簡化 html 的結構,然后用 css 進行設置,減少 html 與 css 的契合度。
正確做法是寫HTML的時候先不管樣式,重點放在HTML的結構和語義化上,讓HTML能提現頁面結構或者內容,,然后進行 css 樣式設置,減少 HTML 與 CSS 契合度(即內容與樣式分離) ,寫JS的時候,盡量不要用JS去直接操作樣式,而是通過給元素添加刪除class來控制樣式變化(即行為分離)。
3)分離原則的優點
-瀏覽器加載網頁頁面速度變快。分離原則下,大部分頁面代碼寫在了CSS當中,頁面體積容量變得更小。
-網頁修改設計時,效率、省時。根據html標簽內ID或class的標記,到CSS里找到相應的ID或class,可以快速替換指定位置的樣式,不會破壞頁面架構和其他部分的樣式。
-典型的應用就是網頁換膚,使用相同的 html 結構,不同的 css 樣式。
-更好地被搜索引擎收錄?;趦热菖c樣式分離的原則,html的語義化就是首要考慮的,網頁中語義化的標簽代碼就會更加適合搜索引擎。
-css樣式的分離,它可以根據不同的瀏覽器,達到顯示效果的統一。保證網頁架構不變形的前提下,放心在不同瀏覽器渲染顯示樣式。
轉自[饑人谷_huangyh_max]
四、有哪些常見的meta標簽
** <meta> 標簽永遠位于 head 元素內部;<meta>標簽有兩個屬性name和http-equiv。**
1、指定字符集:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
2、向搜索引擎說明你的網頁的關鍵字:
<meta name="keywords" content="關鍵字"/>
3、告訴搜索引擎你的站點的主要內容:
<meta name="description" content=""/>
4、告訴搜索引擎你的站點的制作的作者:
<meta name="author" content=""/>
5、定時讓網頁在指定的時間n內跳轉
<meta http-equiv="refresh" content="n;url="/>
6、勇于設定網頁的到期時間,一旦過期則必須到服務器上重新調用,需要注意的是必須使用GMT時間格式:
<meta http-equiv="expires" content="Mon,12 May 2010 00:00:00 GMT"/>
7、禁用緩存:
<meta http-equiv="pragma" content="no-cache"/>
8、cookie設定,如果網頁過期,存盤的cookie將會被刪除,需要注意的是也必須使用GMT時間格式:
<meta http-equiv="set-cookie" content="Mon,12 May 2010 00:00:00 GMT" />
五、文檔聲明的作用?嚴格模式和混雜模式指什么?<!doctype html> 的作用?
** 文檔聲明的作用**
文檔聲明是為了告訴瀏覽器,你的 HTML 文檔是用的什么版本的 HTML 來寫的,這樣瀏覽器才能按照你聲明的版本來正確的解析你的 HTML 文檔。
嚴格模式和混雜模式指什么
嚴格模式(推薦)現在也稱為標準模式,在該模式下,瀏覽器會嚴格按照 HTML 和 CSS 標準來解析、渲染你的文檔。
混雜模式(不推薦)的由來是一個歷史問題。在互聯網早期,網頁一般寫成兩個版本:一個寫給網景公司的 Navigator瀏覽器,一個寫給微軟公司的IE瀏覽器。當W3C制定了 Web 標準后,這兩個瀏覽器不能馬上開始按標準來解析渲染頁面,因為這樣會破壞當時大部分頁面的顯示效果。所以各瀏覽器就引入了混雜模式,在該模式下,瀏覽器會模擬Navigator 4和IE5的非標準行為來解析渲染頁面,這樣做就是為了兼容在W3C標準出現之前就存在的那些“不標準”的頁面。
<!doctype html> 的作用
<!doctype html> 的作用就是讓瀏覽器進入標準模式,使用最新的 HTML5標準來解析渲染頁面;如果不寫,瀏覽器就會進入混雜模式,而這是我們要避免的。
瀏覽器亂碼的原因是什么?如何解決
原因是因為在編寫代碼的時候,你沒有選擇編碼<meta charset="xxx">,即瀏覽器應該用什么字符集來解析你上面的文字,那瀏覽器不知道,他就只能猜,如果你保存的你的HTML編碼為utf-8,而瀏覽器選擇了gbk來解析,那就出現了亂碼。
所以要解決的話,就需要在我們寫代碼的時候寫上<meta charset="utf-8">
告訴瀏覽器,你不用猜了,用這個來解析就對了。
六、常見的瀏覽器有哪些,什么內核
chrome、Safari、360極速瀏覽器以及搜狗瀏覽器高速模式使用WebKit內核
IE、獵豹、360、搜狗、傲游、世界之窗、Avant、騰訊TT使用Trident內核,又稱為IE內核。
Firefox、Netscape6至9使用Gecko內核。
Chrome(28及往后版本)、Opera(15及往后版本)和Yandex瀏覽器中使用Blink內核。
列出常見的標簽,并簡單介紹這些標簽用在什么場景
標簽 | 使用場景 |
---|---|
<html>...</html> |
定義了文檔的開始點和結束點 |
<head>..</head> |
定義文檔的頭部,其中的元素可以引用腳本、指示瀏覽器在哪里找到樣式表、提供元信息等等 |
<title>..</title> |
定義文檔標題 |
<meta>..</meta> |
提供有關頁面的元信息 |
<body>..</body> |
定義文檔的主體,包含文檔的所有內容 |
a..../a |
定義超鏈接 |
<img> |
圖片 |
<h1>-<h6> |
定義標題 |
<p>..</p> |
段落 |
<ul>..</ul> |
定義無序列表 |
<ol>..</ol> |
定義有序列表 |
<li>...</li> |
定義列表項目 |
<div>..</div> |
定義文檔中的分區或節 |
<em>...</em> |
強調 |
<strong>..</strong> |
語氣更強的強調 |
<span>..</span> |
定義文檔中的一小節 |
<table>..</table> |
定義表格 |
<tr>..</tr> |
定義表格中的行 |
<hr /> |
創建一條水平線 |