一、html5的新特性?javascript
canvas繪畫css
用於媒介回放的video和audio元素html
本地離線存儲localStorage能夠長期存儲,而且在瀏覽器關閉以後能夠保存很長一段時間,sesstionStorage在瀏覽器關閉以後會丟失前端
語義化更好的標籤,如article、nav、section、footer、headerhtml5
表單控件calendar、date、time、emailjava
新的技術websock、websocketweb
二、html標籤語義化的理解?chrome
用正確的標籤作正確的事canvas
html標籤語義化可讓頁面的內容結構化,讓結構更加清晰,便於對瀏覽器、搜索引擎解析數組
即便在沒有css樣式的狀況下,也以一種文檔格式顯示,易於閱讀,易於SEO,易於閱讀和維護
三、html5離線存儲
在用戶沒有網絡鏈接的時候,能夠正常訪問站點或應用,在用戶有網絡鏈接時,更新用戶機器上的緩存文件
原理:html5的離線存儲是基於一個新建的.appcache文件的緩存機制(不是存儲技術),經過這個文件上的解析清單離線存儲資源,這些資源就會像cookie同樣被存儲了下來。以後當網絡處於離線狀態時,瀏覽器會經過被離線存儲的數據進行頁面展現。
如何使用:
3.一、頁面頭部像下面同樣加入一個manifest的屬性;
3.二、在cache.manifest文件的編寫離線存儲的資源;
CACHE MANIFEST
#v0.11
CACHE:
js/app.js
css/style.css
NETWORK:
resourse/logo.png
FALLBACK:
/ /offline.html
3.三、在離線狀態時,操做window.applicationCache進行需求實現。
瀏覽器是怎麼對HTML5的離線儲存資源進行管理和加載的呢?
在線的狀況下,瀏覽器發現html頭部有manifest屬性,它會請求manifest文件,若是是第一次訪問app,那麼瀏覽器就會根據manifest文件的內容下載相應的資源而且進行離線存儲。若是已經訪問過app而且資源已經離線存儲了,那麼瀏覽器就會使用離線的資源加載頁面,而後瀏覽器會對比新的manifest文件與舊的manifest文件,若是文件沒有發生改變,就不作任何操做,若是文件改變了,那麼就會從新下載文件中的資源並進行離線存儲。
離線的狀況下,瀏覽器就直接使用離線存儲的資源。
四、css居中
水平居中
div{ width: 200px; margin: 0 auto;
}
讓絕對定位的div居中
div{ position: absolute; width: 500px; margin: auto; top: 0; left: 0; right: 0; bottom: 0 }
水平垂直居中顯示
一、 div{ position: absolute; width: 500px; height: 300px; top: 50%; left: 50%; margin: -150px 0 0 -250px; } 二、 未知容器的寬高 div{ position:absolute; width: 500px; heigth:300px; top: 50%; left: 50%; transform: translate(-50%,-50%) }
三、利用flex佈局
.container{
display: flex;
align-items:center;//垂直居中
justify-content: center;//水平居中
}
.container div{
width: 100px;
height: 100px;
}
五、ie盒模型和標準盒模型
IE盒模型
box-sizing: border-box;
width: 400px;
盒子width=padding+border+content = 400px
標準盒模型
box-siziing: content-box
width: 400px;
盒子width = padding + border + 400px(content)
六、css優先級肯定
每一個選擇器都有權值,權值越大越優先,
繼承的樣式優先級低於自身指定樣式
!important優先級最高,js也沒法修改
權值相同時,靠近元素的樣式優先級高 順序爲內聯樣式表(標籤內部)> 內部樣式表(當前文件中)> 外部樣式表(外部文件中)
七、請解釋一下爲何會出現浮動和何時須要清除浮動?清除浮動的方式?
八、BFC
block formatting context 塊級格式化上下文,它是頁面中的一個獨立的渲染區域。只有Block-level box參與, 它規定了內部的Block-level Box如何佈局,而且與這個區域外部絕不相干。
BFC佈局規則:
BFC應用
解決margin疊加。兩個div的margin會疊加。好比上下兩個div,上面的div設置margin-bottom:10px,下面的div設置margin-top:10px,這個時候兩個div的間距是10px,而不是想象中的20px;若是想要兩個div的間距爲20px,能夠對其中一個div經過display:inline-block來觸發BFC,這樣兩個div就不會發生margin重疊了。
用於佈局;
用於清除浮動,對父元素設置overflow:hidden
九、如何讓chrome支持小於12px的字體
咱們都知道,chrome瀏覽器支持的最小字體就是12px,不管你對字體設置10px仍是8px,頁面中顯示的仍是12px,可是咱們可使用transform:scale()來對字體進行縮放從而達到目的
十、flex佈局的優點?又稱聖盃佈局
聖盃佈局是一種左中右佈局,左右兩欄固定寬度,中間內容欄自適應寬度,當pc端屏幕夠寬時,會呈現水平三欄佈局,當在移動端時,屏幕較小,會呈現垂直的三欄佈局;聖盃佈局的優點在於只須要寫一套代碼,就能夠同時兼容pc端和移動端。父div display: flex; flex-low: row nowrap;子div flex: 1 6 20%;order:1; 最大放大一倍,最小能夠縮小6倍,佔據父div的20%,order是子div的順序
十一、div+css佈局較table佈局的優缺點?
div+css佈局的符合w3c的標準,代碼結構清晰明瞭,結構、樣式和行爲分離,帶來了足夠的維護性,佈局精準,網站版面佈局修改簡單,加快了頁面的加載速度,節約站點所佔的空間和站點的流量。用只包含結構化內容的html代替嵌套的標籤,提升搜索引擎對網頁的搜索效率。
table佈局容易上手,能夠造成複雜的變化,簡單快速,在不一樣瀏覽器中有很好的兼容。
十二、img圖片標籤的alt和title屬性的區別
alt是給搜索引擎識別,在圖像沒法顯示時的替代文本;title是關於元素的註釋信息,主要是給用戶解讀
1三、漸進加強和優雅降級之間的不一樣?
漸進加強:針對低版本瀏覽器進行構建頁面,保證最基本的功能,而後在針對高級瀏覽器進行效果、交互等改進和追加功能達到更好的用戶體驗。
優雅降級:一開始就構建完整的功能,而後再針對低版本的瀏覽器進行兼容。
區別:優雅降級是從複雜的現狀開始,並試圖減小用戶體驗的供給,而漸進加強是一個很是基礎,可以起做用的版本開始,並不斷擴充,以適應將來環境的須要。
1四、cookie和session的區別?
1五、瀏覽器的cookies、sessionStorage、localStorage的區別?
共同點:都是保存在瀏覽器端,而且使同源的 (協議、端口、主機名相同)
不一樣點:
1六、href和src的區別?
href表示超文本引用,用在link和a等元素上,用來創建當前元素和文檔之間的連接
src表示引用資源,表示替換當前元素,用在img,script,iframe上,src指向的內容會嵌入到文檔中當前標籤所在的位置
1七、在css/js代碼上線以後開發人員常常會優化性能,從用戶刷新網頁開始,一次js請求通常狀況下有哪些地方會有緩存處理?
dns緩存、cdn緩存、瀏覽器緩存 、服務器緩存
1八、css中可讓文字在垂直和水平方向重疊的屬性是什麼?
垂直方向:line-height
水平方向:letter-spacing
1九、normalize.css和reset的css文件的異同?
相同點:重置樣式;保持跨瀏覽器一致性
不一樣點:reset經過爲幾乎全部的元素施加默認樣式,強行是的元素有相同的視覺效果,而normalize.css保持了許多瀏覽器的默認樣式,它會力求這些樣式保持一致並儘量與現代標準符合
20、html5中的link和@import引入外部css文件的區別?
2一、doctype的做用?嚴格模式和混雜模式的區別?
doctype聲明文檔的類型,告訴瀏覽器該文檔的類型,讓瀏覽器知道應該用哪一個規範來解析文檔。
嚴格模式又稱標準模式,是指瀏覽器按照w3c標準解析代碼
混雜模式又稱怪異模式或兼容模式,是指瀏覽器按本身的規範解析代碼
HTML5 沒有 DTD ,所以也就沒有嚴格模式與混雜模式的區別,HTML5 有相對寬鬆的語法,實現時,已經儘量大的實現了向後兼容。( HTML5 沒有嚴格和混雜之分)
2二、html和xhtml的區別
XHTML 元素必須被正確地嵌套
XHTML 元素必須被關閉,空標籤也必須被關閉,如 <br> 必須寫成 <br />
XHTML 標籤名必須用小寫字母
XHTML 文檔必須擁有根元素
XHTML 文檔要求給全部屬性賦一個值
XHTML 要求全部的屬性必須用引號""括起來
XHTML 文檔須要把全部 < 、>、& 等特殊符號用編碼表示
XHTML 圖片必須有說明文字
XHTML 文檔中用id屬性代替name屬性
2二、前端頁面由哪三層構成?做用分別是什麼?
結構層、表示層、行爲層
html實現頁面結構,css完成頁面的表現與風格,javascript實現客戶端的功能與業務
2三、javascript的typeof返回哪些數據類型?
undefined、string、number、object、Function、boolean、symbol
2四、強制類型轉換和隱式轉換
經過String()、Number()、Boolean()函數強制轉換
JavaScript的數據類型分爲六種,分別爲null,undefined,boolean,string,number,object。object是引用類型,其它的五種是基本類型或者是原始類型。咱們能夠用typeof方法打印來某個是屬於哪一個類型的。不一樣類型的變量比較要先轉類型,叫作類型轉換,類型轉換也叫隱式轉換。隱式轉換一般發生在運算符加減乘除,等於,還有小於,大於等。。 console.log(10+'5')//105;console.log(10-'2')//8 number
2五、javascript中spilt()和join()的區別?
共同點:兩個函數一般都是對字符或者字符串的操做
區別:split()用於分割字符串,返回一個數組
join()用於鏈接多個字符或字符串,返回值爲一個字符串,默認鏈接符爲逗號
2六、javascript中的pop() push() shift() unshift()?
push()方法能夠在數組的末尾添加一個或多個元素
pop()方法把數組中的最後一個元素刪除
shift()方法把數組中的第一個元素刪除
unshift()方法在數組的前端添加一個或多個元素
2七、javascript中事件綁定和普通事件的區別?
普通事件中的onclick是DOM0級事件只支持單個事件,會被其餘onclick事件覆蓋;而事件綁定中的addEventListener是DOM2級事件,能夠添加多個事件而不會被覆蓋。
未完待續...........