一甘改、HTML、XML彪杉、XHTML 有什么區(qū)別
- html即是超文本標(biāo)記語(yǔ)言(Hyper Text Markup Language),是最早寫(xiě)網(wǎng)頁(yè)的語(yǔ)言牵咙,但是由于時(shí)間早派近,規(guī)范不是很好,大小寫(xiě)混寫(xiě)且編碼不規(guī)范洁桌;
- xhtml即是升級(jí)版的html(Extensible Hyper Text Markup Language)渴丸,對(duì)html進(jìn)行了規(guī)范,編碼更加嚴(yán)謹(jǐn)純潔另凌,也是一種過(guò)渡語(yǔ)言谱轨,html向xml過(guò)渡的語(yǔ)言;
- xml即時(shí)可擴(kuò)展標(biāo)記語(yǔ)言(Extensible Markup Language)吠谢,是一種跨平臺(tái)語(yǔ)言土童,編碼更自由,可以自由創(chuàng)建標(biāo)簽工坊。
- 網(wǎng)頁(yè)編碼從html>>xhtml>>xml這個(gè)過(guò)程發(fā)展献汗。
html與xhtml之間的區(qū)別:
可以參考這個(gè)網(wǎng)頁(yè):http://www.dreamdu.com/xhtml/html_xhtml/
1、xhtml對(duì)比與html王污,xhtml文檔具有良好完整的排版罢吃,體現(xiàn)在兩方面:a、元素必須要有結(jié)束標(biāo)簽昭齐;b尿招、元素必須嵌套;
2司浪、對(duì)于html的元素和屬性泊业,xhtml必須小寫(xiě),因?yàn)閤ml是嚴(yán)格區(qū)分大小寫(xiě)的啊易,<li>和<LI>是不同的標(biāo)簽茴晋;
3为流、 xhtml的屬性值必須在引號(hào)之中;
4、xhtml不支持屬性最小化幕帆,什么是屬性最小化了叉袍? 正確:非最小化屬性(unminimized attributes) <input checked="checked"> 不正確:最小化屬性(minimized attributes) <input checked>
5只泼、在xhtml中遇汞,name屬性是不贊成使用的,在以后的版本中將被刪除呻逆。
再說(shuō)說(shuō)為什么網(wǎng)頁(yè)編碼要從html>>xhtml>>xml這么發(fā)展夸赫?
話(huà)說(shuō)早起的網(wǎng)頁(yè)使用html語(yǔ)言編寫(xiě)的,但是它擁有三個(gè)嚴(yán)重的缺點(diǎn):
1咖城、編碼不規(guī)范茬腿,結(jié)構(gòu)混亂臃腫呼奢,需要智能的終端才能很好的顯示;
2切平、表現(xiàn)和結(jié)構(gòu)混亂握础,不利于開(kāi)發(fā)和維護(hù);
3悴品、不能使用更多的網(wǎng)絡(luò)設(shè)備禀综,比如手機(jī)、PDA等苔严;
因此HTML需要發(fā)展才能解決這個(gè)問(wèn)題定枷,于是W3C又制定了XHTML,XHTML是HTML向XML 過(guò)度的一個(gè)橋梁邦蜜。而xml是web發(fā)展的趨勢(shì)依鸥。
二亥至、怎樣理解 HTML 語(yǔ)義化
語(yǔ)義化的含義就是用正確的標(biāo)簽做正確的事情悼沈,html語(yǔ)義化就是讓頁(yè)面的內(nèi)容結(jié)構(gòu)化,便于對(duì)瀏覽器姐扮、搜索引擎解析絮供;在沒(méi)有樣式CCS情況下也以一種文檔格式顯示,并且是容易閱讀的茶敏。搜索引擎的爬蟲(chóng)依賴(lài)于標(biāo)記來(lái)確定上下文和各個(gè)關(guān)鍵字的權(quán)重壤靶,利于 SEO。使閱讀源代碼的人對(duì)網(wǎng)站更容易將網(wǎng)站分塊惊搏,便于閱讀維護(hù)理解贮乳。
三、怎樣理解內(nèi)容與樣式分離的原則
1)網(wǎng)頁(yè)分離
一個(gè)網(wǎng)頁(yè)分為三個(gè)部分:Html——結(jié)構(gòu)恬惯,css——表現(xiàn)向拆,javascrip——行為。內(nèi)容也就是html酪耳,樣式也就是css浓恳。所以?xún)?nèi)容和樣式的分離,就是指在網(wǎng)頁(yè)編碼的過(guò)程中碗暗,要將html和css兩大部分分開(kāi)颈将。
2)如何實(shí)現(xiàn)
內(nèi)容與樣式分離的原則的實(shí)現(xiàn),一個(gè)是要依靠意識(shí)言疗,另一個(gè)是依靠經(jīng)驗(yàn)晴圾。
舉例而言,面對(duì)一個(gè)分塊明顯的網(wǎng)頁(yè)設(shè)計(jì)圖時(shí):
-初級(jí)的開(kāi)發(fā)人員思路及制作方法:div 層層嵌套噪奄;
-中級(jí)的開(kāi)發(fā)人員思路及制造方法:去掉多余的 div ,進(jìn)行簡(jiǎn)化死姚;
-高級(jí)的開(kāi)發(fā)人員思路及制造方法:最大化的簡(jiǎn)化 html 的結(jié)構(gòu)沾凄,然后用 css 進(jìn)行設(shè)置,減少 html 與 css 的契合度知允。
正確做法是寫(xiě)HTML的時(shí)候先不管樣式撒蟀,重點(diǎn)放在HTML的結(jié)構(gòu)和語(yǔ)義化上,讓HTML能提現(xiàn)頁(yè)面結(jié)構(gòu)或者內(nèi)容,温鸽,然后進(jìn)行 css 樣式設(shè)置保屯,減少 HTML 與 CSS 契合度(即內(nèi)容與樣式分離) ,寫(xiě)JS的時(shí)候涤垫,盡量不要用JS去直接操作樣式姑尺,而是通過(guò)給元素添加刪除class來(lái)控制樣式變化(即行為分離)。
3)分離原則的優(yōu)點(diǎn)
-瀏覽器加載網(wǎng)頁(yè)頁(yè)面速度變快蝠猬。分離原則下切蟋,大部分頁(yè)面代碼寫(xiě)在了CSS當(dāng)中,頁(yè)面體積容量變得更小榆芦。
-網(wǎng)頁(yè)修改設(shè)計(jì)時(shí)柄粹,效率、省時(shí)匆绣。根據(jù)html標(biāo)簽內(nèi)ID或class的標(biāo)記驻右,到CSS里找到相應(yīng)的ID或class,可以快速替換指定位置的樣式崎淳,不會(huì)破壞頁(yè)面架構(gòu)和其他部分的樣式堪夭。
-典型的應(yīng)用就是網(wǎng)頁(yè)換膚,使用相同的 html 結(jié)構(gòu)拣凹,不同的 css 樣式森爽。
-更好地被搜索引擎收錄∠担基于內(nèi)容與樣式分離的原則爬迟,html的語(yǔ)義化就是首要考慮的,網(wǎng)頁(yè)中語(yǔ)義化的標(biāo)簽代碼就會(huì)更加適合搜索引擎。
-css樣式的分離祈惶,它可以根據(jù)不同的瀏覽器雕旨,達(dá)到顯示效果的統(tǒng)一。保證網(wǎng)頁(yè)架構(gòu)不變形的前提下捧请,放心在不同瀏覽器渲染顯示樣式凡涩。
轉(zhuǎn)自[饑人谷_huangyh_max]
四、有哪些常見(jiàn)的meta標(biāo)簽
** <meta> 標(biāo)簽永遠(yuǎn)位于 head 元素內(nèi)部疹蛉;<meta>標(biāo)簽有兩個(gè)屬性name和http-equiv活箕。**
1、指定字符集:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
2可款、向搜索引擎說(shuō)明你的網(wǎng)頁(yè)的關(guān)鍵字:
<meta name="keywords" content="關(guān)鍵字"/>
3育韩、告訴搜索引擎你的站點(diǎn)的主要內(nèi)容:
<meta name="description" content=""/>
4克蚂、告訴搜索引擎你的站點(diǎn)的制作的作者:
<meta name="author" content=""/>
5、定時(shí)讓網(wǎng)頁(yè)在指定的時(shí)間n內(nèi)跳轉(zhuǎn)
<meta http-equiv="refresh" content="n;url="/>
6筋讨、勇于設(shè)定網(wǎng)頁(yè)的到期時(shí)間埃叭,一旦過(guò)期則必須到服務(wù)器上重新調(diào)用,需要注意的是必須使用GMT時(shí)間格式:
<meta http-equiv="expires" content="Mon,12 May 2010 00:00:00 GMT"/>
7悉罕、禁用緩存:
<meta http-equiv="pragma" content="no-cache"/>
8赤屋、cookie設(shè)定,如果網(wǎng)頁(yè)過(guò)期壁袄,存盤(pán)的cookie將會(huì)被刪除类早,需要注意的是也必須使用GMT時(shí)間格式:
<meta http-equiv="set-cookie" content="Mon,12 May 2010 00:00:00 GMT" />
五、文檔聲明的作用?嚴(yán)格模式和混雜模式指什么?<!doctype html> 的作用?
** 文檔聲明的作用**
文檔聲明是為了告訴瀏覽器嗜逻,你的 HTML 文檔是用的什么版本的 HTML 來(lái)寫(xiě)的涩僻,這樣瀏覽器才能按照你聲明的版本來(lái)正確的解析你的 HTML 文檔。
嚴(yán)格模式和混雜模式指什么
嚴(yán)格模式(推薦)現(xiàn)在也稱(chēng)為標(biāo)準(zhǔn)模式栈顷,在該模式下逆日,瀏覽器會(huì)嚴(yán)格按照 HTML 和 CSS 標(biāo)準(zhǔn)來(lái)解析、渲染你的文檔妨蛹。
混雜模式(不推薦)的由來(lái)是一個(gè)歷史問(wèn)題屏富。在互聯(lián)網(wǎng)早期晴竞,網(wǎng)頁(yè)一般寫(xiě)成兩個(gè)版本:一個(gè)寫(xiě)給網(wǎng)景公司的 Navigator瀏覽器蛙卤,一個(gè)寫(xiě)給微軟公司的IE瀏覽器。當(dāng)W3C制定了 Web 標(biāo)準(zhǔn)后噩死,這兩個(gè)瀏覽器不能馬上開(kāi)始按標(biāo)準(zhǔn)來(lái)解析渲染頁(yè)面颤难,因?yàn)檫@樣會(huì)破壞當(dāng)時(shí)大部分頁(yè)面的顯示效果。所以各瀏覽器就引入了混雜模式已维,在該模式下行嗤,瀏覽器會(huì)模擬Navigator 4和IE5的非標(biāo)準(zhǔn)行為來(lái)解析渲染頁(yè)面,這樣做就是為了兼容在W3C標(biāo)準(zhǔn)出現(xiàn)之前就存在的那些“不標(biāo)準(zhǔn)”的頁(yè)面垛耳。
<!doctype html> 的作用
<!doctype html> 的作用就是讓瀏覽器進(jìn)入標(biāo)準(zhǔn)模式栅屏,使用最新的 HTML5標(biāo)準(zhǔn)來(lái)解析渲染頁(yè)面;如果不寫(xiě)堂鲜,瀏覽器就會(huì)進(jìn)入混雜模式栈雳,而這是我們要避免的。
瀏覽器亂碼的原因是什么缔莲?如何解決
原因是因?yàn)樵诰帉?xiě)代碼的時(shí)候哥纫,你沒(méi)有選擇編碼<meta charset="xxx">,即瀏覽器應(yīng)該用什么字符集來(lái)解析你上面的文字痴奏,那瀏覽器不知道蛀骇,他就只能猜厌秒,如果你保存的你的HTML編碼為utf-8,而瀏覽器選擇了gbk來(lái)解析擅憔,那就出現(xiàn)了亂碼鸵闪。
所以要解決的話(huà),就需要在我們寫(xiě)代碼的時(shí)候?qū)懮?code><meta charset="utf-8">告訴瀏覽器暑诸,你不用猜了岛马,用這個(gè)來(lái)解析就對(duì)了。
六屠列、常見(jiàn)的瀏覽器有哪些啦逆,什么內(nèi)核
chrome、Safari笛洛、360極速瀏覽器以及搜狗瀏覽器高速模式使用WebKit內(nèi)核
IE夏志、獵豹、360苛让、搜狗沟蔑、傲游、世界之窗狱杰、Avant瘦材、騰訊TT使用Trident內(nèi)核,又稱(chēng)為IE內(nèi)核仿畸。
Firefox食棕、Netscape6至9使用Gecko內(nèi)核。
Chrome(28及往后版本)错沽、Opera(15及往后版本)和Yandex瀏覽器中使用Blink內(nèi)核簿晓。
列出常見(jiàn)的標(biāo)簽,并簡(jiǎn)單介紹這些標(biāo)簽用在什么場(chǎng)景
標(biāo)簽 | 使用場(chǎng)景 |
---|---|
<html>...</html> |
定義了文檔的開(kāi)始點(diǎn)和結(jié)束點(diǎn) |
<head>..</head> |
定義文檔的頭部千埃,其中的元素可以引用腳本憔儿、指示瀏覽器在哪里找到樣式表、提供元信息等等 |
<title>..</title> |
定義文檔標(biāo)題 |
<meta>..</meta> |
提供有關(guān)頁(yè)面的元信息 |
<body>..</body> |
定義文檔的主體放可,包含文檔的所有內(nèi)容 |
a..../a |
定義超鏈接 |
<img> |
圖片 |
<h1>-<h6> |
定義標(biāo)題 |
<p>..</p> |
段落 |
<ul>..</ul> |
定義無(wú)序列表 |
<ol>..</ol> |
定義有序列表 |
<li>...</li> |
定義列表項(xiàng)目 |
<div>..</div> |
定義文檔中的分區(qū)或節(jié) |
<em>...</em> |
強(qiáng)調(diào) |
<strong>..</strong> |
語(yǔ)氣更強(qiáng)的強(qiáng)調(diào) |
<span>..</span> |
定義文檔中的一小節(jié) |
<table>..</table> |
定義表格 |
<tr>..</tr> |
定義表格中的行 |
<hr /> |
創(chuàng)建一條水平線 |