什么是HTML?
- HTML指的是超文本標記語言
- HTML不是一種編程語言,而是一種標記語言
- 標記語言是一套標記標簽
- HTML使用標記標簽來描述網(wǎng)頁
HTML、XML、XHTML 有什么區(qū)別
- HTML,超文本標記語言,是語法較為松散的、不嚴格的Web語言;
- XML,可擴展標記語言,設計宗旨是傳輸和存儲數(shù)據(jù),焦點是數(shù)據(jù)內(nèi)容,而HTML被設計為顯示數(shù)據(jù),焦點是數(shù)據(jù)的外觀,XML的標簽沒有被預定義,需要自行定義標簽;
- XHTML,可擴展超文本標記語言,是以XML應用的方式定義的HTML,是更嚴格更純凈的HTML版本
怎樣理解 HTML 語義化
什么叫HTML語義化
用合理的HTML標簽以及其特有的屬性去格式化文檔內(nèi)容.
HTML語義化的好處
優(yōu)化SEO
更好地支持搜索引擎的爬蟲, 使搜索引擎抓取到頁面上更多的有效信息+對盲人閱讀器和其它閱讀器友好
HTML代碼的可讀性, 可維護性, 開發(fā)效率更高(減少規(guī)范不一致帶來的溝通成本)
瀏覽器們都在推動語義化, 遵循HTML語義化可能會得到更好的展示效果
語義化的含義就是根據(jù)內(nèi)容選擇合適的標簽,html語義化就是讓頁面的內(nèi)容結(jié)構(gòu)化,便于對瀏覽器、搜索引擎解析。在沒有樣式CCS情況下也能呈現(xiàn)較好的內(nèi)容結(jié)構(gòu)與代碼結(jié)構(gòu)。搜索引擎的爬蟲依賴于標記來確定上下文和各個關(guān)鍵字的權(quán)重,利于 SEO。使閱讀源代碼的人對網(wǎng)站更容易將網(wǎng)站分塊,便于閱讀維護。
怎樣理解內(nèi)容與樣式分離的原則
- 寫 HTML 的時候先不管樣式, 重點放在HTML的結(jié)構(gòu)和語義化上,讓 HTML 能體現(xiàn)頁面結(jié)構(gòu)或者內(nèi)容,之后再去寫樣式
- 寫 JS 的時候,盡量不要用 JS 去直接操作樣式,而是通過給元素添加刪除class來控制樣式變化
- HTML 內(nèi)不允許出現(xiàn)屬性樣式,盡量不要出現(xiàn)行內(nèi)樣式
有哪些常見的meta標簽
meta的常用屬性
提供HTML文檔的元數(shù)據(jù), 常用于告知瀏覽器如何顯示內(nèi)容和搜索引擎優(yōu)化
常見的meta標簽
申明編碼:
<meta charset="utf-8">
優(yōu)先使用 IE 最新版本和 Chrome
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<!-- 關(guān)于X-UA-Compatible -->
<meta http-equiv="X-UA-Compatible" content="IE=6" ><!-- 使用IE6 -->
<meta http-equiv="X-UA-Compatible" content="IE=7" ><!-- 使用IE7 -->
<meta http-equiv="X-UA-Compatible" content="IE=8" ><!-- 使用IE8 -->
瀏覽器內(nèi)核控制
國內(nèi)瀏覽器很多都是雙內(nèi)核(webkit和Trident),webkit內(nèi)核高速瀏覽,IE內(nèi)核兼容網(wǎng)頁和舊版網(wǎng)站。 而添加meta標簽的網(wǎng)站可以控制瀏覽器選擇何種內(nèi)核渲染。
<meta name="renderer" content="webkit|ie-comp|ie-stand">
禁止瀏覽器從本地計算機的緩存中訪問頁面內(nèi)容
這樣設定,訪問者將無法脫機瀏覽。
<meta http-equiv="Pragma" content="no-cache">
避免百度轉(zhuǎn)碼申明
用百度打開網(wǎng)頁可能會對其進行轉(zhuǎn)碼(比如貼廣告),避免轉(zhuǎn)碼可添加如下meta
<meta http-equiv="Cache-Control" content="no-siteapp" />
用于SEO優(yōu)化
頁面關(guān)鍵詞
<meta name="keywords" content="your tags" />
設置搜索引擎索引方式
<meta name="robots" content="index,follow" />
<!--
all:文件將被檢索,且頁面上的鏈接可以被查詢;
none:文件將不被檢索,且頁面上的鏈接不可以被查詢;
index:文件將被檢索;
follow:頁面上的鏈接可以被查詢;
noindex:文件將不被檢索;
nofollow:頁面上的鏈接不可以被查詢。
-->
文檔聲明的作用?嚴格模式和混雜模式指什么?<!doctype html> 的作用?
<!DOCTYPE>聲明叫做文件類型定義(DTD),文檔聲明的作用為了告訴瀏覽器該文件的類型,讓瀏覽器解析器知道應該用哪個規(guī)范來解析文檔。
嚴格模式是指,瀏覽器按 W3C 標準解析執(zhí)行代碼;混雜模式則是使用瀏覽器自己的方式解析執(zhí)行代碼,因為不同瀏覽器解析執(zhí)行的方式不一樣,所以稱之為混雜模式。
<!doctype html> 是告訴瀏覽器按照HTML5的規(guī)范來渲染頁面
瀏覽器亂碼的原因是什么?如何解決
造成html網(wǎng)頁亂碼原因主要是html源代碼內(nèi)中文字內(nèi)容與html編碼不同造成。但無論是哪種情況造成亂碼在網(wǎng)頁開始時候都需要設置網(wǎng)頁編碼。
- 比如網(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)頁亂碼。
解決方法:指明瀏覽器保存的編碼方式,比如保存的是uft-8,就用meta標簽指明<meta charset="utf-8">
常見的瀏覽器有哪些,什么內(nèi)核
瀏覽器內(nèi)核指的是一個瀏覽器最核心的部分——“Rendering Engine”,直譯這個詞匯叫做“渲染引擎”,不過我們也常稱其為“排版引擎”、“解釋引擎”。這個引擎的作用是幫助瀏覽器來渲染網(wǎng)頁的內(nèi)容,將頁面內(nèi)容和排版代碼轉(zhuǎn)換為用戶所見的視圖。
注:有時候我們所說的“瀏覽器內(nèi)核”甚至“渲染引擎”,其實除了渲染引擎,也悄悄包含了javascript引擎,如WebKit,它由渲染引擎WebCore和javascript引擎JSCore組成。
- Internet Explorer采用的內(nèi)核為Trident
Trident內(nèi)核的常見瀏覽器有:[1]
IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0);[1]
360安全瀏覽器(1.0-5.0為Trident,6.0為Trident+Webkit,7.0為Trident+Blink)獵豹極輕瀏覽器,360極速瀏覽器(7.5之前為Trident+Webkit,7.5為Trident+Blink)獵豹安全瀏覽器(1.0-4.2版本為Trident+Webkit,4.3及以后版本為Trident+Blink)獵豹極輕瀏覽器,傲游瀏覽器(傲游1.x、2.x為IE內(nèi)核,3.x為IE與Webkit雙核)、百度瀏覽器(早期版本)、世界之窗瀏覽器[2]
(最初為IE內(nèi)核,2013年采用Chrome+IE內(nèi)核)、2345瀏覽器、騰訊TT、淘寶瀏覽器、采編讀瀏覽器、搜狗高速瀏覽器(1.x為Trident,2.0及以后版本為Trident+Webkit)、阿云瀏覽器(早期版本)、瑞星安全瀏覽器、Slim Browser、 GreenBrowser、愛帆瀏覽器(12 之前版本)、115瀏覽器、155瀏覽器、閃游瀏覽器、N氧化碳瀏覽器、糖果瀏覽器、彩虹瀏覽器、瑞影瀏覽器、勇者無疆瀏覽器、114瀏覽器、螞蟻瀏覽器、飛騰瀏覽器、速達瀏覽器、佐羅瀏覽器、海豚瀏覽器(iPhone/iPad/Android)、UC瀏覽器(Blink內(nèi)核+Trident內(nèi)核)等。
其中部分瀏覽器的新版本是“雙核”甚至是“多核”,其中一個內(nèi)核是Trident,然后再增加一個其他內(nèi)核。國內(nèi)的廠商一般把其他內(nèi)核叫做“高速瀏覽模式”,而Trident則是“兼容瀏覽模式”,用戶可以來回切換。
- Safari所用瀏覽器內(nèi)核是WebKit
Google Chrome、360極速瀏覽器以及搜狗高速瀏覽器高速模式也使用Webkit作為內(nèi)核(在腳本理解方面,Chrome使用自己研發(fā)的V8引擎)。WebKit 內(nèi)核在手機上的應用也十分廣泛,例如 Google 的手機 Gphone、 Apple 的iPhone, Nokia’s Series 60 browser 等所使用的 Browser 內(nèi)核引擎,都是基于 WebKit。
WebKit內(nèi)核常見的瀏覽器:傲游瀏覽器3、[1]
Apple Safari (Win/Mac/iPhone/iPad)、Symbian手機瀏覽器、Android 默認瀏覽器
Firefox瀏覽器使用的是Gecko內(nèi)核
Chrome瀏覽器2013年放棄Chromium引擎(蘋果公司W(wǎng)ebKit的一個分支)使用最新的Blink引擎(基于WebKit2)
Opera為減少研發(fā)成本放棄Presto引擎,在Chrome2013年推出Blink引擎之后,Opera也轉(zhuǎn)而使用Blink作為瀏覽器核心引擎
列出常見的標簽,并簡單介紹這些標簽用在什么場景
標簽 | 描述 |
---|---|
<p> |
定義段落 |
<h1>to<h6> |
定義HTML標題 |
<q> |
定義短的引用 |
<em> |
定義強調(diào)文本 |
<a> |
定義錨,用于打開鏈接,發(fā)送郵件,段落跳轉(zhuǎn)等功能 |
<blockquote> |
定義長的引用 |
<strong> |
定義語氣更為強烈的強調(diào)文本 |
<div> |
div標簽用于組合其他HTML元素,本身無實在意義。常用于頁面的布局,比如一個展開式的廣告頁面 |
<img> |
定義圖像 |
<!--注釋--> |
注釋 |
<br> |
換行 |
<table><th><tr><td> |
定義表格,表頭單元格,表格中的行,表格中的單元格 |
<ul> |
無序列表 |
<ol> |
有序列表 |
<li> |
列表項 |
<dl> |
定義了定義列表,結(jié)合<dt> (定義列表中的項目) <dd> (描述列表中的項目) |
參考資料:
http://www.divcss5.com/html/h546.shtml
https://tink.gitbooks.io/fe-collections/content/ch02-html/s01-semantic.html
https://tink.gitbooks.io/fe-collections/content/ch02-html/s03-meta.html