一、行內元素有哪些?塊級元素有哪些? 空元素有那些?
(1)行內元素有:a b span img input select strong。
(2)塊級元素有:div ul ol li dl dt dd h1 h2 h3 h4…p
(3)常見的空元素:<br> <hr> <img> <input> <link> <meta>
二、常見的瀏覽器內核有哪些?
Trident 內核:IE,MaxThon,TT,The World,360,搜狗瀏覽器。
Gecko 內核:Netscape6 及以上版本,FF,MozillaSuite/SeaMonkey
Presto 內核:Opera7 及以上
Webkit 內核:Safari,Chrome
三、請描述一下 cookies,sessionStorage 和 localStorage 的區別?
cookie 是網站爲了標示用戶身份而儲存在用戶本地終端(Client Side)上的數據(通常經過加密),cookie 數據始終在同源的 http 請求中攜帶(即使不需要),記會在瀏覽 器和服務器間來回傳遞。
sessionStorage 和 localStorage 不會自動把數據發給服務器,僅在本地保存。
存儲大小: cookie 數據大小不能超過 4k;sessionStorage 和 localStorage 雖然也有存儲大小的限制,但比 cookie 大得多,可以達到 5M 或更大。
有期時間: localStorage存儲持久數據,瀏覽器關閉後數據不丟失除非主動刪除數據; sessionStorage數據在當前瀏覽器窗口關閉後自動刪除;cookie設置的 cookie 過期時間之前一直有效,即使窗口或瀏覽器關閉 。
四、如何在頁面上實現一個圓形的可點擊區域?
1、map+area 或者 svg
2、border-radius
3、純 js 實現需要求一個點在不在圓上簡單算法、獲取鼠標座標等等
五、介紹一下標準的 CSS 的盒子模型?低版本 IE 的盒子模型有什麼不同的?
(1)有兩種, IE 盒子模型、W3C 盒子模型
(2)盒模型: 內容(content)、填充(padding)、邊界(margin)、 邊框 (border)
(3)區別: IE 的 content 部分把 border 和 padding 計算了進去
六、如何居中 div?
1、水平居中:給 div 設置一個寬度,然後添加 margin:0 auto 屬性
div{ width:200px; margin:0 auto; }
2、讓絕對定位的 div 居中
div { position: absolute; width: 300px; height: 300px; margin: auto; top: 0; left: 0; bottom: 0; right: 0; }
3、水平垂直居中,確定容器的寬高,寬 500 高 300 。
div { position: relative; width:500px; height:300px; top: 50%; left: 50%; margin: -150px 0 0 -250px; }
4、水平垂直居中,未知容器的寬高,利用 `transform` 屬性
div { position: absolute; width:500px; height:300px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
5、水平垂直居中,利用 flex 佈局 ,實際使用時應考慮兼容性
.container { display: flex; align-items: center; /* 垂直居中 */ justify-content: center; /* 水平居中 */ }
.container div { width: 100px; height: 100px; }
七、 用純 CSS 創建一個三角形的原理是什麼?
把上、左、右三條邊隱藏掉(顏色設爲 transparent)
#demo { width: 0; height: 0; border-width: 20px; border-style: solid; border-color: transparent transparent red transparent; }
八、請解釋一下爲什麼需要清除浮動?清除浮動的方式 。
清除浮動是爲了清除使用浮動元素產生的影響。浮動的元素,高度會塌陷, 而高度的塌陷使我們頁面後面的佈局不能正常顯示。
1、父級 div 定義 height;
2、父級 div 也一起浮動;
3、常規的使用一個 class; .
clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } .clearfix { *zoom: 1; }