HTML助被、XML剖张、XHTML 的區(qū)別
HTML(hype text markup language):超文本標(biāo)記語言,是最早寫網(wǎng)頁的語言揩环,語法較為松散的搔弄、大小寫混寫編碼不規(guī)范不嚴(yán)格HTML設(shè)計(jì)宗旨是用來顯示數(shù)據(jù),旨在數(shù)據(jù)的外觀丰滑,顯示信息顾犹。
XML(extensible markup language),可擴(kuò)展標(biāo)記語言褒墨,設(shè)計(jì)宗旨是傳輸數(shù)據(jù)炫刷、描述數(shù)據(jù),而非顯示數(shù)據(jù)郁妈;實(shí)為存儲數(shù)據(jù)格式的文件浑玛,標(biāo)簽需要自定義。
XHTML(extensible hypertext markup language)噩咪,可擴(kuò)展超文本標(biāo)記語言锄奢,結(jié)合XML和HTML的優(yōu)點(diǎn)。xhtml文檔具有良好完整的排版剧腻,元素必須要有結(jié)束標(biāo)簽拘央;元素必須嵌套;嚴(yán)格區(qū)分大小寫书在。
怎樣理解HTML語義化
定義:語義化HTML是一種編寫HTML的方式灰伟,意為寫頁面時選擇合適的代碼結(jié)構(gòu)和標(biāo)簽。
優(yōu)點(diǎn):便于開發(fā)者閱讀,維護(hù)栏账。同時讓瀏覽器的爬蟲和機(jī)器很好地解析帖族。使頁面整體的結(jié)構(gòu)清晰有條理。在沒有CSS的情況下也能呈現(xiàn)較好的內(nèi)容結(jié)構(gòu)挡爵、代碼結(jié)構(gòu)竖般。
如何做到:
? <div>和<span>在HTML中沒有語義,盡量少用<div>茶鹃、<span>涣雕。
? 熟悉所有規(guī)范的HTML標(biāo)簽使用場景,熟悉各標(biāo)簽規(guī)范的屬性闭翩,給HTML標(biāo)簽設(shè)置的兩個必要屬性是alt屬性和title屬性挣郭,這兩個屬性可以提高HTML的語義。
? 在img標(biāo)簽中疗韵,alt是必須要設(shè)置的屬性兑障,因?yàn)閕mg是自閉合標(biāo)簽,并沒有包含可以解釋說明圖片的額外信息蕉汪。alt屬性可以在無法顯示圖像時候?yàn)g覽器將顯示代替文本流译,可以顯示圖像是alt為圖像添加描述性文本。
例如<img src="/e/1/hehe.jpg" alt="滑稽表情">者疤。
在HTML里福澡,title屬性是可選屬性谤碳,當(dāng)標(biāo)簽包含的內(nèi)容不足以說明語義時绣溜,可以通過title添加額外的信息, 在瀏覽器中當(dāng)鼠標(biāo)移到元素上時會顯示提示文本屁奏。
例如<abbr title="hahaha">hhh</abbr>?
在lable標(biāo)簽中的for屬性。標(biāo)簽是元素定義的標(biāo)注窥翩。標(biāo)簽的for屬性值指代一個表單元素,屬性值為此表單元素的id值鳞仙。for屬性的作用不僅把標(biāo)簽上的觸發(fā)事件指向了for屬性指代的表單元素寇蚊,也從語義上綁定了和此表單元素。
例如<lable for="male">Male</lable>
怎樣理解內(nèi)容與樣式分離原則
HTML代表頁面上的內(nèi)容棍好,CSS代表頁面的樣子仗岸,JS代表頁面上的交互和功能就是行為。寫HTML時只需注重結(jié)構(gòu)和語義借笙,寫好再去考慮樣式扒怖。寫JS時,勿用JS操作樣式业稼;例如網(wǎng)頁換膚色:通過HTML里的ID或class標(biāo)記盗痒,在CSS中找到相應(yīng)的ID或class,js無需改動低散,節(jié)省了大量時間俯邓。在寫HTML時不出現(xiàn)屬性樣式骡楼,行內(nèi)樣式。
如何做到:內(nèi)容與樣式分離的原則的實(shí)現(xiàn)稽鞭,一個是要依靠意識鸟整,另一個是依靠經(jīng)驗(yàn)。
例:面對一個分塊明顯的網(wǎng)頁設(shè)計(jì)圖時:
初級的開發(fā)人員思路及制作方法:div 層層嵌套朦蕴;
中級的開發(fā)人員思路及制造方法:去掉多余的 div ,進(jìn)行簡化篮条;
高級的開發(fā)人員思路及制造方法:最大化的簡化 html 的結(jié)構(gòu),然后用 css 進(jìn)行設(shè)置梦重,減少 html 與 css 的契合度兑燥。
有哪些常見的meta標(biāo)簽
<meta charset="utf-8">編輯器里保存的代碼所存為的一種編碼格式,瀏覽器需要解析字符串顯示內(nèi)容琴拧,頁面保存什么格式就在<meta charset="">寫什么格式降瞳。
<meta http-equiv="X-UA-Compatoble" content="IE=edge,chrome=1">強(qiáng)制瀏覽器按照特定的版本標(biāo)準(zhǔn)進(jìn)行渲染。但不支持IE7及以下版本蚓胸。如果是ie瀏覽器就用最新的ie渲染挣饥,如果是雙核瀏覽器就用chrome內(nèi)核。
<metahttp-equiv=”Refresh”content=”5;URL”>:告訴瀏覽器在“5”秒后跳轉(zhuǎn)到“一個網(wǎng)址”
<meta name="viewport" content="width=device-width, initial-scale=1.0">使頁面在移動端展示合理沛膳,禁用縮放(zooming)功能扔枫,用戶只能滾動屏幕。
<metaname="keywords"content="class">該網(wǎng)頁的關(guān)鍵字是“class”锹安。
<metaname="description"content="repositories">該網(wǎng)頁的主要內(nèi)容是“repositories”短荐。
文檔聲明的作用?嚴(yán)格模式和混雜模式指什么叹哭?<!doctype html>的作用忍宋?
1.doctype聲明的作用:在Web設(shè)計(jì)中用來說明你用的XHTML或者HTML是什么版本。风罩、
2.嚴(yán)格模式(標(biāo)準(zhǔn)模式):瀏覽器根據(jù)瀏覽器支持的坐高標(biāo)準(zhǔn)呈現(xiàn)頁面糠排。
? 混雜模式(兼容模式):頁面以寬松的向后兼容的方式顯示,模擬老式瀏覽器的行為以防止老站點(diǎn)無法工作超升。
3.<!doctype html>!的作用:是html5的文檔聲明入宦。文件的合法性驗(yàn)證。 如果文件代碼不合法室琢,那么瀏覽器解析時便會出一些差錯乾闰。HTML編輯器通常也會在語法高亮的同時提供合法性驗(yàn)證。
瀏覽器亂碼的原因是什么盈滴?如何解決
? 編碼器編寫的HTML在保存時會按照自己默認(rèn)的格式保存汹忠,使用瀏覽器打開HTML時,在沒有<meta charset="xxx">時,瀏覽器會自動選擇一種方式解析字符集宽菜,如果編碼器儲存的是gbk格式谣膳,瀏覽器卻選擇utf-8解析,此時網(wǎng)頁亂碼铅乡。
? 還有一種情況是在編碼器中指定<meta charset="gbk">格式在保存HTML時卻用utf-8保存继谚,瀏覽器打開HTML時看到<meta charset="gbk">就會按照gbk的字符集解析。
解決方法:
? 編輯器保存文檔使用的字符集一定要跟 HTML 文檔指定的字符集匹配阵幸。文件保存時清楚用哪種字符集保存的花履,也可以全用“utf-8”,“utf-8”包括世界上所有的文字。
常見的瀏覽器有哪些挚赊,什么內(nèi)核
IE瀏覽器內(nèi)核:Trident
Trident內(nèi)核程序在1997年的IE4中首次被采用诡壁,簡稱IE內(nèi)核。它是微軟在Mosaic代碼的基礎(chǔ)之上修改而來的荠割,并沿用到目前的IE8妹卿。Trident實(shí)際上是一款開放的內(nèi)核,其接口內(nèi)核設(shè)計(jì)的相當(dāng)成熟,有許多采用IE內(nèi)核而非IE的瀏覽器涌現(xiàn)蔑鹦。
Netscape6瀏覽器內(nèi)核:Gecko
Gecko的特點(diǎn)是代碼完全公開夺克,因此,其可開發(fā)程度很高嚎朽,全世界的程序員都可以為其編寫代碼铺纽,增加功能∮慈蹋基于開源內(nèi)核的特性狡门,備受青睞,出現(xiàn)很多以Gecko為內(nèi)核的瀏覽器锅很,因此有挺大的市場占有量其馏。
Opera瀏覽器內(nèi)核:Presto
Presto內(nèi)核在2003年的Opera7中首次被使用,該款引擎的特點(diǎn)就是渲染速度的優(yōu)化達(dá)到了極致粗蔚,也是目前公認(rèn)網(wǎng)頁瀏覽速度最快的瀏覽器內(nèi)核尝偎,但對網(wǎng)頁的兼容性差饶火。
蘋果Safari瀏覽器內(nèi)核:Webkit
Webkit是蘋果公司自己的內(nèi)核鹏控,也是使用的內(nèi)核。 Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎肤寝,均是從KDE的KHTML及KJS引擎衍生而來当辐。且Webkit開放源代碼。
傲游瀏覽器3鲤看、QQ瀏覽器和搜狗高速瀏覽器都是使用Webkit與Trident雙核心
Webkit核心讓網(wǎng)頁打開速度更快缘揪,Trident核心則帶來更好的兼容性支持。使用高速(webkit)和兼容(Trident)雙瀏覽模式,保證良好兼容性的同時極大提升網(wǎng)頁瀏覽速度找筝。當(dāng)采用高速模式訪問網(wǎng)頁出現(xiàn)問題時蹈垢,可直接切換內(nèi)核,使用兼容性更佳的兼容模式正常瀏覽網(wǎng)頁袖裕。
列出常見的標(biāo)簽曹抬,并簡單介紹這些標(biāo)簽用在什么場景
h1,h2,h3,h4,h5,h6:標(biāo)題
p:段落,大段文字
a:HTML鏈接
例:<a >This is a link</a>,在 href 屬性中指定鏈接的地址急鳄。
img:圖像
例:<img src="hehe.jpg" alt="avatar">谤民,只閉合不加“/”。
div:塊疾宏,頁面分區(qū)
例:<divid="header">...</div>
? ? ? ? <divid="content">...</div>
? ? ? ? <divid="footer">...</div>
ul li:無序列表张足,表示并列內(nèi)容,ul必須后面跟著li坎藐,可嵌套
ol li:有序列表为牍,可以表示步驟、編號的并列內(nèi)容顺饮,ol后面必須跟著li吵聪。
dl:列表,dt:列表下的標(biāo)題兼雄,dd:列表下的標(biāo)題的描述。
例:
button:按鈕
strong赦肋、span块攒、em、:都指強(qiáng)調(diào)佃乘,強(qiáng)調(diào)的程度依次減弱囱井。可用于單獨(dú)修改某一段字的背景色或者行為趣避。
iframe:嵌入一個界面
例:<iframesrc="http://jirengu.com"name="myPage"></iframe>
table:展示表格庞呕,thead、tbody程帕、tfoot在不做布局時候可以省略住练,tr:列,td:行