HTML+CSS面試題__HTML

來源:互聯網
上載者:User
1.對WEB標準以及W3C的理解與認識。 (1)web標準規範要求,書寫標籤必須閉合、標籤小寫、不亂嵌套,可 提高搜尋機器人對網頁內容的搜尋幾率; (2)建議使用外鏈css和js指令碼,從而達到結構與行為、結構與表現的 分離,提高頁面的渲染速度,能更快地顯示頁面的內容; (3)樣式與標籤的分離,更合理的語義化標籤,使內容能被更多的使用者 所訪問、內容能被更廣泛的裝置所訪問、更少的代碼和組件, 從而降低 維護成本、改版更方便; (4)不需要變動頁面內容,便可提供列印版本而不需要複製內容,提高 網站易用性; 遵循w3c制定的web標準,能夠使使用者瀏覽者更方便的閱讀,使網頁開發 者之間更好的交流。
2.xhtml和html有什麼區別? HTML是一種基本的WEB網頁設計語言,XHTML是一個基於XML的置標語言; 最主要的不同: XHTML 元素必須被正確地嵌套。 XHTML 元素必須被關閉。 標籤名必須用小寫字母。 XHTML 文檔必須擁有根項目。
3.Doctype? strict 模式與混雜模式-如何觸發這兩種模式,區分它們有何 意義? 用於聲明文檔使用那種規範(html/Xhtml)一般為 嚴格 過度 基於架構 的html文檔 加入XMl聲明可觸發,解析方式更改為IE5.5 擁有IE5.5的bug
4.行內元素有哪些?區塊層級元素有哪些?CSS的盒模型? 區塊層級元素:div p h1 h2 h3 h4 form ul 行內元素: a b br i span input select Css盒模型:內容,border ,margin,padding
5.CSS引入的方式有哪些? link和@import的區別是? 內聯 內嵌 外鏈 匯入 區別 :同時載入 前者無相容性,後者CSS2.1以下瀏覽器不支援 Link 支援使用javascript改變樣式,後者不可
6.CSS選擇符有哪些?哪些屬性可以繼承?優先順序演算法如何計算?內聯和 important哪個優先順序高? 標籤選擇符 類選擇符 id選擇符 繼承不如指定 Id>class>標籤選擇 後者優先順序高
7.前端頁面有哪三層構成,分別是什麼?作用是什麼? 結構層 Html 展示層 CSS 行為層 js
8.css的基本語句構成是? 選取器{屬性1:值1;屬性2:值2;……}
9.你做的頁面在哪些流覽器測試過?這些瀏覽器的核心分別是什麼? Ie(Ie核心) Firefox(Gecko) Google(webkit) opear(Presto)
10.寫出幾種IE6 BUG的解決方案 1.雙邊距BUG float引起的 使用display:inline; 2.3像素問題 使用float引起的 使用dislpay:inline -3px 或者 margin-right:-3px 3.超連結hover 點擊後失效 使用正確的書寫順序 link visited hover active; 4.Ie z-index問題 給父級添加position:relative; 5.Png 透明 使用js代碼改; 6.Min-height 最小高度 。Important 解決’; 7.select 在ie6下遮蓋 使用iframe嵌套; 8.為什麼沒有辦法定義1px左右的寬度容器(IE6預設的行高造成的,使 用over:hidden,zoom:0.08 line-height:1px);
11.標籤上title與alt屬性的區別是什麼? alt屬性是在你的圖片因為某種原因不能載入時在頁面顯示的提示資訊, 它會直接輸出在原本載入圖片的地方; title屬性是在你滑鼠移至上方在該圖片上時顯示一個小提示,滑鼠離開就沒 有了,有點類似jQuery的hover,你可以自己試試,另外,HTML的絕大多 數標籤都支援title屬性,title屬性就是專門做提示資訊的;
12.描述css reset的作用和用途。 Reset重設瀏覽器的css預設屬性,瀏覽器的品種不同,樣式不同,然後 重設,讓他們統一。例如(有最簡單的*{margin:0 ; padding:0});
13.解釋css sprites,如何使用。 Css 精靈 把一堆小的圖片整合到一張大的圖片上,減輕伺服器對圖片的 請求數量;
14.瀏覽器標準模式和怪異模式之間的區別是什麼? 所謂的標準模式是指,瀏覽器按W3C標準解析執行代碼; 怪異模式則是使用瀏覽器自己的方式解析執行代碼,因為不同瀏覽器解 析執行的方式不一樣,所以我們稱之為怪異模式。 瀏覽器解析時到底使用標準模式還是怪異模式,與你網頁中的DTD聲明直 接相關,DTD聲明定義了標準文檔的類型(標準模式解析)文件類型,會 使瀏覽器使用相應的方式載入網頁並顯示,忽略DTD聲明,將使網頁進入 怪異模式(quirks mode)。 盒子模型 渲染模式的不同 使用 window.top.document.compatMode 可顯示為什麼模式
15.你如何對網站的檔案和資源進行最佳化?期待的方案套件括: 檔案合并 檔案最小化/檔案壓縮 使用CDN託管 緩衝的使用
16.什麼是語義化的HTML? 語義化的HTML就是寫出的HTML代碼,符合內容的結構化(內容語義化) ,選擇合適的標籤(代碼語義化),能夠便於開發人員閱讀和寫出更優雅 的代碼的同時讓瀏覽器的爬蟲和機器很好地解析。   1.語義化有利於SEO,有利於搜尋引擎爬蟲更好的理解我們的網頁, 從而擷取更多的有效資訊,提升網頁的權重。   2.在沒有CSS的時候能夠清晰的看出網頁的結構,增強可讀性。   3.便於團隊開發和維護,語義化的HTML可以讓開發人員更容易的看明 白,從而提高團隊的效率和協調能力。   4.支援多終端裝置的瀏覽器渲染。 (總結:直觀的認識標籤 對於搜尋引擎的抓取有好處)
17.清除浮動的幾種方式,各自的優缺點 1.使用空標籤清除浮動 clear:both(理論上能清楚任何標籤,,,增加 無意義的標籤) 2.使用overflow:auto(空標籤元素清除浮動而不得不增加無意代碼的弊 端,,使用zoom:1用於相容IE) 3.是用afert虛擬元素清除浮動(用於非IE瀏覽器)
Javascript 1.javascript的typeof返回哪些資料類型 Object、number、 function、 boolean、 underfind、string
2.例舉3種強制類型轉換和2種隱式類型轉換? 強制(parseInt,parseFloat,number) 隱式(== – ===)
3.split() join() 的區別 split()方法:用於把一個字串分割成字串數組. join() 方法用於把數組中的所有元素放入一個字串。 (總結:前者是切割成數組的形式,後者是將數群組轉換成字串);
4.數組方法pop() push() unshift() shift() Push()尾部添加; pop()尾部刪除; Unshift()頭部添加; shift()頭部刪除;
5.事件綁定和普通事件有什麼區別。 事件綁定就是針對dom元素的事件,綁定在dom元素上 普通事件即為非針對dom元素的事件; 例如: 普通事件 var btn = document.getElementById("hello"); btn.onclick = function(){ alert(1); }; btn.onclick = function(){ alert(2); }; //這個事件只會彈出2;
事件綁定 var btn = document.getElementById("hello"); btn.addEventListener("click",function(){ alert(1); },false); btn.addEventListener("click",function(){ alert(2); },false); //這個事 件首先會彈出1,然後在彈出2;

6.IE和DOM事件流的區別。 1.執行順序不一樣; 2.參數不一樣; 3.事件加不加on; 4.this指向問題;
7.IE和標準下有哪些相容性的寫法 Var ev = ev || window.event document.documentElement.clientWidth || document.body.clientWidth Var target = ev.srcElement||ev.target
8.ajax請求的時候get 和post方式的區別。 1、get是把參數資料隊列加到提交表單的ACTION屬性所指的URL中,值和 表單內各個欄位一一對應,在URL中可以看到; post是通過HTTP post機制,將表單內各個欄位與其內容放置在 HTML HEADER內一起傳送到ACTION屬性所指的URL地址。使用者看不到這個 過程; 2、Get請求有如下特性:它會將資料添加到URL中,通過這種方式傳遞到 伺服器,通常利用一個問號。代表URL地址的結尾與資料參數的開端,後 面的參數每一個資料參數以“名稱=值”的形式出現,參數與參數之間利 用一個串連符&來區分。 Post請求有如下特性:資料是放在HTTP主體中的,其組織方式不 只一種,有&串連方式,也有分割符方式,可隱藏參數,傳遞大批資料, 比較方便。 3、get傳送的資料量較小,不能大於2KB; post傳送的資料量較大,一般被預設為不受限制。但理論上,因 伺服器的不同而異. 4、get安全性非常低,post安全性較高; (總結: 一個在url後面 一個放在虛擬載體裡面 有大小限制 安全問題 應用不同 一個是論壇等只需要請求的,一個是類似修改密碼的)
9.call和apply的區別。 相同點:兩個方法產生的作用是完全一樣的 不同點:方法傳遞的參數不同 Object.call(this,obj1,obj2,obj3)調用一個對象的一個方法,以另一 個對象替換當前對象 Object.apply(this,arguments)應用某一對象的一個方法,用另一個對 象替換當前對象。
10.ajax請求時,如何解釋json資料。 使用eval parse 鑒於安全性考慮 使用parse更靠譜
11.b繼承a的方法。 b.prototype=new a;
12.寫一個擷取非行間樣式的函數 function getStyle(obj,attr,value){ if(!value){ if(obj.currentStyle){ return obj.currentStyle(attr) }else{ obj.getComputedStyle(attr,false) } }else{ obj.style[attr]=value } }
13.事件委託是什麼。 讓利用事件冒泡的原理,讓自己的所觸發的事件,讓他的父元素代替執 行。 事件委託就是事件目標自身不處理事件,而是把處理任務委託給其父元 素或者祖先元素,甚至根項目(document); jQuery為綁定和委託事件提供了.bind()、.live()和.delegate()方法; http://www.tuicool.com/articles/zQVvau 例子可見此連結
14.閉包是什麼,有什麼特性,對頁面有什麼影響。 閉包就是能夠讀取其他函數內部變數的函數。 http://blog.csdn.net/gaoshanwudi/article/details/7355794 此鏈 接可查看(問這個問題的不是一個公司)
15.如何阻止事件冒泡和預設事件。 canceBubble return false 查看 http://www.2cto.com/kf/201412/359961.html 案例
16.添加 刪除 替換 插入到某個接點的方法。 obj.appendChidl() obj.innersetBefore obj.replaceChild obj.removeChild
17.解釋jsonp的原理,以及為什麼不是真正的ajax。 動態建立script標籤,回呼函數 Ajax是頁面無重新整理請求資料操作
18.javascript的本機物件,內建對象和宿主對象。 本機物件為array obj regexp等可以new執行個體化 內建對象為gload Math 等不可以執行個體化的 宿主為瀏覽器內建的document,window 等
19.document load 和document ready的區別。 Document.onload 是在結構和樣式載入完才執行js Document.ready原生種沒有這個方法,jquery中有 $().ready (function)
20.”==”和“===”的不同? 前者會自動轉換類型 後者不會
21.javascript的同源策略? 一段指令碼只能讀取來自於同一來源的視窗和文檔的屬性,這裡的同一來 源指的是主機名稱、協議和連接埠號碼的組合
22.編寫一個數組去重的方法。 function oSort(arr){ var result ={}; var newArr=[]; for(var i=0;i<arr.length;i++){ if(!result[arr]){ newArr.push(arr) result[arr]=1 } } return newArr }
文章應該是從別人那裡翻出來的,只不過當時直接儲存到有道了,已忘記出處,望原創看到見諒
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.