成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

前端面試題 -- HTML+CSS

Benedict Evans / 3043人閱讀

摘要:內(nèi)核原為,現(xiàn)為內(nèi)核,等。但盒子的大小由這幾部分決定是一個屬性,與盒子模型有著密切聯(lián)系。

前言

貌似又到了一年一度跑路跳槽的時刻,由于個人的一些原因最近也參加了很多面試,發(fā)現(xiàn)有很多基礎(chǔ)性的東西掌握程度還是不夠,故此想總結(jié)一下最近面試遇到的問題以及個人認(rèn)為比較重要的東西,留給自己消化,也分享給有需要的小伙伴

GitHub完整版面試題,歡迎小伙伴們star關(guān)注

如果文章中有出現(xiàn)紕漏、錯誤之處,還請看到的小伙伴多多指教,先行謝過

好了,廢話不多說,以下 ↓

HTML 1. Doctype作用,HTML5 為什么只需要寫
doctype是一種標(biāo)準(zhǔn)通用標(biāo)記語言的文檔類型聲明,目的是告訴標(biāo)準(zhǔn)通用標(biāo)記語言解析器要使用什么樣的文檔類型定義(DTD)來解析文檔.聲明必須是HTML文檔的第一行,位于html標(biāo)簽之前

HTML5不基于SGML,所以不需要引用DTD。在HTML5中只有一種

SGML: 標(biāo)準(zhǔn)通用標(biāo)記語言,是現(xiàn)時常用的超文本格式的最高層次標(biāo)準(zhǔn)

2. 行內(nèi)元素有哪些,塊級元素有哪些,空(void)元素有那些

行內(nèi)元素:a span i img input select b

塊級元素:div ul ol li h1~h6 p table

空元素:br hr link

3. 簡述一下你對HTML語義化的理解

簡單來說,就是合適的標(biāo)簽做合適的事情,這樣具有以下好處:

有助于構(gòu)架良好的HTML結(jié)構(gòu),有利于搜索引擎的建立索引、抓取,利于SEO

有利于不同設(shè)備的解析

有利于構(gòu)建清晰的機(jī)構(gòu),有利于團(tuán)隊的開發(fā)、維護(hù)

4. 常見的瀏覽器內(nèi)核有哪些,介紹一下你對瀏覽器內(nèi)核的理解
Trident內(nèi)核:IE

Gecko內(nèi)核:NETSCAPE6及以上版本,火狐

Presto內(nèi)核:Opera7及以上。[Opera內(nèi)核原為:Presto,現(xiàn)為:Blink;]

Webkit內(nèi)核:Safari,Chrome等。[Chrome的:Blink(WebKit的分支)]

瀏覽器內(nèi)核又可以分成兩部分:渲染引擎和JS引擎。 渲染引擎主要負(fù)責(zé)取得網(wǎng)頁的內(nèi)容、整理訊息、計算網(wǎng)頁的顯示方式等,JS引擎則是解析Javascript語言,執(zhí)行javascript語言來實現(xiàn)網(wǎng)頁的動態(tài)效果。

5. html5有哪些新特性

語義化標(biāo)簽: header footer nav section article aside

增強(qiáng)型表單:date(從一個日期選擇器選擇一個日期) email(包含 e-mail 地址的輸入域) number(數(shù)值的輸入域) range(一定范圍內(nèi)數(shù)字值的輸入域) search(用于搜索域) tel(定義輸入電話號碼字段) 等

視頻和音頻:audio video

Canvas繪圖 SVG繪圖

地理定位:Geolocation

拖放API:drag

web worker:是運(yùn)行在后臺的 JavaScript,獨(dú)立于其他腳本,不會影響頁面的性能

web storage: localStorage sessionStorage

WebSocket: HTML5開始提供的一種在單個 TCP 連接上進(jìn)行全雙工通訊的協(xié)議

6. 描述一下 cookie,sessionStorage 和 localStorage 的區(qū)別
特性 Cookie localStorage sessionStorage
生命周期 可設(shè)置失效時間,沒有設(shè)置的話,默認(rèn)是關(guān)閉瀏覽器后失效 除非被手動清除,否則將會永久保存 僅在當(dāng)前網(wǎng)頁會話下有效,關(guān)閉頁面或瀏覽器后就會被清除
存放數(shù)據(jù)大小 4KB左右 可以保存5MB的信息
http請求 每次都會攜帶在HTTP頭中,如果使用cookie保存過多數(shù)據(jù)會帶來性能問題 僅在客戶端(即瀏覽器)中保存,不參與和服務(wù)器的通信
7. 如何實現(xiàn)瀏覽器內(nèi)多個標(biāo)簽頁之間的通信

使用localStorage: localStorage.setItem(key,value)、localStorage.getItem(key)

websocket協(xié)議

webworker

多個標(biāo)簽頁之間的通信

8. HTML5的離線存儲怎么使用,解釋一下工作原理

HTML5的離線存儲

9. src與href的區(qū)別

區(qū)別:src用于替代這個元素,而href用于建立這個標(biāo)簽與外部資源之間的關(guān)系

瀏覽器加載到這里的時候,html的渲染和解析不會暫停,css文件的加載是同時進(jìn)行的

當(dāng)瀏覽器解析到這句代碼時,頁面的加載和解析都會暫停直到瀏覽器拿到并執(zhí)行完這個js文件

10. 表單提交中Get和Post方式的區(qū)別

Get一般用于從服務(wù)器上獲取數(shù)據(jù),Post向服務(wù)器傳送數(shù)據(jù)

Get傳輸?shù)臄?shù)據(jù)是拼接在Url之后的,對用戶是可見的;Post的傳輸數(shù)據(jù)對用戶是不可見的

Get傳送的數(shù)據(jù)量較小,不能大于2KB。Post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制

Get安全性非常低,Post安全性較高

在FORM提交的時候,如果不指定Method,則默認(rèn)為Get請求

CSS 1. css盒子模型,box-sizing屬性的理解

css的盒模型由content(內(nèi)容)、padding(內(nèi)邊距)、border(邊框)、margin(外邊距)組成。但盒子的大小由content+padding+border這幾部分決定

box-sizing是一個CSS3屬性,與盒子模型有著密切聯(lián)系。即決定元素的寬高如何計算,box-sizing有三個屬性:

box-sizing: content-box|border-box|inherit:

content-box 使得元素的寬高即為內(nèi)容區(qū)的寬高(默認(rèn)模式)

border-box: 計算方式content + padding + border = 本身元素大小,即縮小了content大小

inherit 指定box-sizing屬性的值,應(yīng)該從父元素繼承

2. 清除浮動,什么時候需要清除浮動,清除浮動都有哪些方法

浮動的元素是脫離文檔標(biāo)準(zhǔn)流的,如果我們不清楚浮動,那么就會造成父元素高度塌陷,影響頁面布局。

清除浮動的方式:

為父元素設(shè)置高度

為父元素添加overflow:hidden

偽元素

.fix::after { 
     content:""; 
     display:block; 
     clear:both;
}

使用偽元素的好處:不增加冗余的DOM節(jié)點(diǎn),符合語義化

overflow:hidden可以觸發(fā)BFC機(jī)制。BFC:塊級格式化上下文,創(chuàng)建了 BFC的元素就是一個獨(dú)立的盒子,它規(guī)定了內(nèi)部如何布局,并且與這個獨(dú)立盒子里的布局不受外部影響,當(dāng)然它也不會影響到外面的元素,計算BFC的高度時,浮動元素也參與計算
3. 如何讓一個不定寬高的盒子水平垂直居中
定位的方式
.father {
    position: relative;
}
.son {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
css3屬性
.father {
    position: relative;
}
.son {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
flex布局
.father {
    display: flex;
    justify-content: center;
    align-items: center;
}
4. px和em和rem的區(qū)別
px: 像素,相對長度單位。像素px是相對于顯示器屏幕分辨率而言的

em的值并不是固定的,會繼承父級元素的字體大小,代表倍數(shù)

rem的值并不是固定的,始終是基于根元素 的,也代表倍數(shù)

5. position的值有哪些
static: 默認(rèn)值。沒有定位,元素出現(xiàn)在正常的流中

relative(相對定位):生成相對定位的元素,相對于其正常(原先本身)位置進(jìn)行定位

absolute(絕對定位):生成絕對定位的元素,相對于static定位以外的第一個父元素進(jìn)行定位

fixed(固定定位):生成絕對定位的元素,相對于瀏覽器窗口進(jìn)行定位

6. display:none與visibility:hidden的區(qū)別
區(qū)別 display:none visibility:hidden的
是否占據(jù)空間 不占據(jù)任何空間,在文檔渲染時,該元素如同不存在(但依然存在文檔對象模型樹中) 該元素空間依舊存在
是否渲染 會觸發(fā)reflow(回流),進(jìn)行渲染 只會觸發(fā)repaint(重繪),因為沒有發(fā)現(xiàn)位置變化,不進(jìn)行渲染
是否是繼承屬性 不是繼承屬性,元素及其子元素都會消失 是繼承屬性,若子元素使用了visibility:visible,則不繼承,這個子孫元素又會顯現(xiàn)出
7. CSS中l(wèi)ink 和@import的區(qū)別
link屬于XHTML標(biāo)簽,@import完全是CSS提供的一種方式,只能加載CSS

加載順序的差別,當(dāng)一個頁面被加載的時候,link引用的CSS會同時被加載,而@import引用的CSS 會等到頁面全部被下載完再被加載

兼容性的差別。由于@import是CSS2.1提出的所以老的瀏覽器不支持,而link標(biāo)簽無此問題

當(dāng)使用javascript控制dom去改變樣式的時候,只能使用link標(biāo)簽,因為@import不是dom可以控制的

8. 什么是響應(yīng)式設(shè)計,響應(yīng)式設(shè)計的基本原理是什么
響應(yīng)式網(wǎng)站設(shè)計是一個網(wǎng)站能夠兼容多個終端,而不是為每一個終端做一個特定的版本。基本原理是通過媒體查詢檢測不同的設(shè)備屏幕尺寸做處理
9. 為什么要初始化CSS樣式
因為瀏覽器的兼容問題,不同瀏覽器對有些標(biāo)簽的默認(rèn)值是不同的,如果沒對 CSS 初始化往往會出現(xiàn)瀏覽器之間的頁面顯示差異

初始化樣式會對 SEO 有一定的影響

10. CSS3有哪些新特性

實現(xiàn)圓角border-radius,陰影box-shadow,邊框圖片border-image

對文字加特效text-shadow,強(qiáng)制文本換行word-wrap,線性漸變linear-gradient

實現(xiàn)旋轉(zhuǎn)transform:rotate(90deg),縮放scale(0.85,0.90),translate(0px,-30px)定位,傾斜skew(-9deg,0deg);

增加了更多的CSS選擇器、多背景、rgba()

唯一引入的偽元素是::selection;

實現(xiàn)媒體查詢@media,多欄布局flex

過渡transition 動畫animation

11. ::before 和 :after中雙冒號和單冒號有什么區(qū)別?解釋一下這2個偽元素的作用
單冒號(:)用于CSS3偽類,雙冒號(::)用于CSS3偽元素。(偽元素由雙冒號和偽元素名稱組成),雙冒號是在當(dāng)前規(guī)范中引入的,用于區(qū)分偽類和偽元素
12. CSS優(yōu)化、提高性能的方法有哪些

移除空的css規(guī)則(Remove empty rules)

正確使用display的屬性

不濫用浮動、web字體

不聲明過多的font-size

不在選擇符中使用ID標(biāo)識符

遵守盒模型規(guī)則

盡量減少頁面重排、重繪

抽象提取公共樣式,減少代碼量

13. 重繪和回流

重繪和回流

14. flex布局

可以參考一下阮大大的文章 flex布局教程--阮一峰

15. css預(yù)處理器

提供了一種css的書寫方式,常見的就是 SAAS文檔 和 LESS文檔

后記

面試問題會不定時更新,后面也會抽時間總結(jié)一些javaScript、框架以及小程序方面的面試題,有需要的小伙伴可以點(diǎn)擊關(guān)注我哦,最后祝大家都能找到一份滿意的工作。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/53871.html

相關(guān)文章

  • 前端資源系列(4)-前端學(xué)習(xí)資源分享&前端面試資源匯總

    摘要:特意對前端學(xué)習(xí)資源做一個匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對前端學(xué)習(xí)資源做一個匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯誤的地方,還請斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會及時更新,平時業(yè)務(wù)工作時也會不定期更...

    princekin 評論0 收藏0
  • 前端面試-CSS選擇器

    摘要:一選擇器作用選擇器用于定位我們想要給予樣式的元素,但不只是在中,對的選擇器也是支持的,比如。在選被元素后插入內(nèi)容其用法和特性與相似。所有偽元素選擇器在前端面試題偽類和偽元素擴(kuò)展閱讀前端面試題清除浮動前端面試題塊格式化上下文 一、CSS選擇器作用 CSS 選擇器用于定位我們想要給予樣式的 HTML 元素,但不只是在 CSS 中,JavaScript 對 CSS 的選擇器也是支持的,比如 ...

    leanote 評論0 收藏0
  • 前端面試-CSS選擇器

    摘要:一選擇器作用選擇器用于定位我們想要給予樣式的元素,但不只是在中,對的選擇器也是支持的,比如。在選被元素后插入內(nèi)容其用法和特性與相似。所有偽元素選擇器在前端面試題偽類和偽元素擴(kuò)展閱讀前端面試題清除浮動前端面試題塊格式化上下文 一、CSS選擇器作用 CSS 選擇器用于定位我們想要給予樣式的 HTML 元素,但不只是在 CSS 中,JavaScript 對 CSS 的選擇器也是支持的,比如 ...

    h9911 評論0 收藏0
  • 前端面試-CSS選擇器

    摘要:一選擇器作用選擇器用于定位我們想要給予樣式的元素,但不只是在中,對的選擇器也是支持的,比如。在選被元素后插入內(nèi)容其用法和特性與相似。所有偽元素選擇器在前端面試題偽類和偽元素擴(kuò)展閱讀前端面試題清除浮動前端面試題塊格式化上下文 一、CSS選擇器作用 CSS 選擇器用于定位我們想要給予樣式的 HTML 元素,但不只是在 CSS 中,JavaScript 對 CSS 的選擇器也是支持的,比如 ...

    mingzhong 評論0 收藏0
  • 前端最強(qiáng)面經(jīng)匯總

    摘要:獲取的對象范圍方法獲取的是最終應(yīng)用在元素上的所有屬性對象即使沒有代碼,也會把默認(rèn)的祖宗八代都顯示出來而只能獲取元素屬性中的樣式。因此對于一個光禿禿的元素,方法返回對象中屬性值如果有就是據(jù)我測試不同環(huán)境結(jié)果可能有差異而就是。 花了很長時間整理的前端面試資源,喜歡請大家不要吝嗇star~ 別只收藏,點(diǎn)個贊,點(diǎn)個star再走哈~ 持續(xù)更新中……,可以關(guān)注下github 項目地址 https:...

    wangjuntytl 評論0 收藏0
  • 前端開發(fā)面試

    摘要:前端開發(fā)面試題站點(diǎn)地址全棧開發(fā)原文鏈接前端開發(fā)面試題作用標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別聲明位于文檔中的第一行,處于標(biāo)簽之前,告知瀏覽器的解析器用什么文檔標(biāo)準(zhǔn)解析。如果需要使用,最好是通過動態(tài)給添加屬性值,可以繞開以上兩個問題。 前端開發(fā)面試題 站點(diǎn)地址:全棧開發(fā)原文鏈接:前端開發(fā)面試題 HTML Doctype作用?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? 1、聲明位于HTML文檔中的第一行...

    forsigner 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<