HTML、XML、XHTML 有什么區別
- HTML:超文本標記語言,是語法較為松散的、不嚴格的Web語言;
- XML:可擴展標記語言,主要用于存儲數據和結構,可擴展;
- XHTML:可擴展超文本標記語言,基于XML,作用與HTML類似,但語法更嚴格
怎樣理解 HTML 語義化
語義化的含義就是用正確的標簽做正確的事情,html語義化就是讓頁面的內容結構化,便于對瀏覽器、搜索引擎解析;在沒有樣式CSS情況下也以一種文檔格式顯示,并且是容易閱讀的。搜索引擎的爬蟲依賴于標記來確定上下文和各個關鍵字的權重,利于 SEO。使閱讀源代碼的人對網站更容易將網站分塊,便于閱讀維護理解。
怎樣理解內容與樣式分離的原則
在前端中,Html指的是結構;CSS指的是樣式;JavaScript指的是行為。
在寫HTML時,確保文檔和模板只包含 HTML 結構,樣式都放到樣式表CSS里,行為都放到JS腳本里。
這樣方便樣式的統一修改,提高樣式的復用性和代碼的可讀性。
- 寫 HTML 的時候先不管樣式, 重點放在HTML的結構和語義化上,讓 HTML 能體現頁面結構或者內容。之后再去寫樣式。
- HTML 內不允許出現屬性樣式,盡量不要出現行內樣式。
- 寫 JS 的時候,盡量不要用 JS 去直接操作樣式,而是通過給元素添加刪除class來控制樣式變化。
有哪些常見的meta標簽
標簽 | 含義 |
---|---|
<mata charset="utf-8"> | 聲明文檔使用的字符編碼 |
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/> | 聲明文檔兼容模式,指示IE以目前可用的最高模式顯示內容 |
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> | 用于移動端開發 |
<meta name="keywords" content="your tags"> | 定義針對搜索引擎的關鍵詞 |
<meta name="description" content="不超過850個字符"> | 頁面描述,告訴搜索引擎你的站點的主要內容 |
<meta name="author" content="你的姓名"> | 定義網頁作者 |
<meta name="revised" content="David, 2008/8/8/" /> | 定義頁面的最新版本 |
<meta http-equiv="refresh" content="5"/> | 5秒刷新一次頁面 |
<meta http-equiv="expires" content="Mon,12 May 2001 00:20:00 GMT"> | 用于設定網頁的到期時間,一旦過期則必須到服務器上重新調用。需要注意的是必須使用GMT時間格式 |
<meta http-equiv="pragma" content="no-cache"> | 禁用緩存 |
<meta http-equiv="set-cookie" content="Mon, 12 May 2001 00:20:00 GMT"> | cookie設定,如果網頁過期,存盤的cookie將被刪除。需要注意的也必須使用GMT時間格式。 |
<meta name="robots" content="index,follow" /> | 搜索引擎索引方式 |
文檔聲明的作用?嚴格模式和混雜模式指什么?<!doctype html> 的作用?
- <!DICTYPE>聲明位于文檔中的最前面,處于<html>標簽之前,告訴瀏覽器的解析器,用什么文檔類型來規范解析這個文檔。
- 嚴格模式的排版和js運作模式是以該瀏覽器支持的最高標準運行。
- 在混雜模式中,頁面以寬松的向后兼容的方式顯示,模擬老式瀏覽器的行為以防止站點無法工作。
- DOCTYPE不存在 或格式不正確會導致文檔以混雜模式呈現。
瀏覽器亂碼的原因是什么?如何解決
下面這個流程是我們寫入文件到展示文件的簡單描述:
- 我們使用編輯器編寫 HTML 文件
- 保存編寫的HTML文件
- 使用瀏覽器打開HTML文件
- HTML文件在瀏覽器展示
亂碼產生的根源就在與第2步驟和第4步。
在第4步瀏覽器打開網頁時,它并不知道你的這個文件是使用什么編碼方式,于是自作主張使用了默認解碼方式。如下圖所示,文件保存為GBK格式,在Chrome打開時默認使用 ISO -8859的解碼方式,導致編碼和解碼不匹配,產生亂碼。
在第2步保持文件時會把我們寫入的文字使用編輯器默認的編碼方式進行保存。如果大家使用的是Sublime編輯器,默認的編碼方式是utf-8。當然也可以安裝GBK Encoding support插件,在保存文件時可選擇保存為GBK
如何解決:
首頁,在文件保存的時候你自己要清楚是用哪種編碼方式保存的(sublime默認保存方式是utf-8,如果安裝了插件也可另存為gbk,其它IDE可以做設置保存格式)。如果你的文件是保存為utf-8格式,那么一定要在html 的 <head>里添加<meta charset="utf-8">,這句話的意思是告訴瀏覽器在打開這個頁面的時候不要去猜了,直接用utf-8去解碼。 同理,如果你的文件保存為gbk格式,一定在文件里添加<meta charset="gbk">。
記住:
- 亂碼產生的根本原因是你保存的編碼格式和瀏覽器解析時的解碼格式不匹配導致的。
- 亂碼一般是英文以外的字符才會出現。
為啥純粹的英文不會出現亂碼問題,即使編碼方式和解碼方式不一致?那是因為前面講過了 utf-8、gbk對英文都是采用1個字節的編碼方式,并且使用了相同的碼字。
常見的瀏覽器有哪些,什么內核
l瀏覽器 | 內核 |
---|---|
Internet Explore | IE內核 |
Firefox | Gecko |
Opear | Presto |
Safari&Chromr | Webkit |
國內大部分瀏覽器 | IE內核 |
列出常見的標簽,并簡單介紹這些標簽用在什么場景
標簽 | 場景 |
---|---|
h1-h6 | 標題標簽 |
p | 段落標簽 |
a | 鏈接標簽 |
div | 塊標簽 |
ul、li | 無序列表 |
ol、li | 有序列表 |
dl、dt、dd | 展示有標題和內容的自定義表格 |
button | 按鈕標簽 |
strong | 強調元素 |
em | 中層強調元素 |
span | 標記一段行內元素 |
iframe | 在當前頁面嵌入一個頁面 |
table | 用于展示表格,不要用來做布局 |
thead、tbody、tfoot | 一般不用寫 |
tr | 代表表格的一行 |
th | 代表表格第一行的列內容 |
td | 代表表格的一列 |