首頁 web前端 js教程 2018最新前端面試題十一

2018最新前端面試題十一

Mar 07, 2018 pm 02:37 PM
試題

這次帶給大家2018最新前端面試題,我們知道在前端工作中面試是必不可少的一部分,這次的前端面試常考問題分類整理匯總就是來幫助大家度過前端面試著一大難關。一起來看一下。

【相關推薦:前端面試題(2020)】

一、描述z-index和疊加上下文是如何形成的。

首先來看在CSS中疊加上下文形成的原因:

1.負邊距 margin為負值時元素會依參考線向外偏移。 margin-left/margin-top的參考線為左邊的元素/上面的元素(如無兄弟元素則為父元素的左內側/上內側),margin-rightmargin-bottom的參考線為元素本身的border右側/border下側。一般可以利用負邊距來就行佈局,但沒有計算好的話就可能造成元素重疊。堆疊順序由元素在文件中的先後位置決定,後出現的會在上面。

2.position的relative/absolute/fixed定位 當為元素設定position值為relative/absolute/fixed後,元素發生的偏移可能產生重疊,且z-index屬性被啟動。 z-index值可以控制定位元素在垂直於顯示器方向(Z 軸)上的堆疊順序(stack order),值大的元素重疊時會在值小的元素上面。

z-index屬性 z-index只能在position屬性值為relative或absolute或fixed的元素上有效。

基本原理:z-index值可以控制定位元素在垂直於顯示器方向(Z 軸)上的堆疊順序(stack order),值大的元素重疊時會在值小的元素上面。

使用相對性:z-index值只決定同一父元素中的同級子元素的堆疊順序。父元素的z-index值(如果有)為子元素定義了堆疊順序(css版堆疊「拼爹」)。

向上追溯找不到含有z-index值的父元素的情況下,則可以視為自由的z-index元素,它可以與父元素的同級兄弟定位元素或其他自由的定位元素來比較z-index的值,決定其堆疊順序。同級元素的z-index值如果相同,則堆疊順序由元素在文件中的先後位置決定,後出現的會在上面。所以如果當你發現一個z-index值較大的元素被值較小的元素遮擋了,請先檢查它們之間的dom結點關係,多半是因為其父結點含有激活並設置了z-index值的position定位元素。

二、請描述 BFC(Block Formatting Context) 及其如何運作。

BFC(Block Formatting Context)直譯為「區塊層級格式化範圍」。

三、列舉不同的清除浮動的技巧,並指出它們各自適用的使用情境。

首先來說明為什麼要清除浮動? 當一個容器中的元素全部浮動之後,由於浮動會讓元素脫離普通文檔流,所以對於外面的這個容器來講它就沒有內容將它撐開,背景設置無法顯示,margin設置無法顯示。 清除浮動的方法:

 1、增加新的元素、應用clear:both;

例如: <div class="outer"> <div class="div1">1</div> <div class="div2">2</div> <div class="div3">3</div> <div class="clear"></div> </div>
.clear{clear:both; height: 0; line-height: 0; font-size: 0}
登入後複製

優點:簡單,程式碼少,瀏覽器支援好,不容易出現怪問題缺點是要增加很多無效佈局,但這是清除浮動用的比較多的一種方法。

 2、父級div定義overflow:auto或hidden

//这里添加了一个class <div class="div1">1</div> <div class="div2">2</div> <div class="div3">3</div> </div>
.over-flow{ overflow: auto; zoom: 1; //zoom: 1; 是在处理兼容性问题 }
登入後複製

原理:必須定義width或zoom:1,同時無法定義height,使用overflow屬性來清除浮動有一點要注意,overflow屬性共有三個屬性值:hidden,auto,visible。我們可以使用hiddent和auto值來清除浮動,但切記不能使用visible值,如果使用這個值將無法達到清除浮動效果。

優點:簡單,程式碼少,瀏覽器支援好缺點:使用auto時內部寬高超過父級div時,會出現捲軸,使用hidden時會被隱藏

 3、 after 方法原理:利用:after和:before來在元素內部插入兩個元素塊,從面達到清除浮動的效果。其實作原理類似clear:both方法,只是差別在於:clear在html插入一個div.clear標籤,而這個方法則是利用其偽類clear:after在元素內部增加一個類似div.clear的效果。

下面來看看其具體的使用方法:

<div class="outer"> <div class="div1">1</div> <div class="div2">2</div> <div class="div3">3</div> </div>
.outer {zoom:1;} /==for IE6/7 Maxthon2==/ .outer :after {clear:both;content:’.’;display:block;width: 0;height: 0;visibility:hidden;}
登入後複製

其中clear:both;指清除所有浮動;content: '.'; display:block;對於FF/chrome/opera/ IE8不能缺少,其中content()可以取值也可以為空。 visibility:hidden;的作用是允許瀏覽器渲染它,但不要顯示出來,這樣才能實現清除浮動。 所以總的來說,推薦使用偽類的方法。

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

相關閱讀:

2018最新前端面試題十

2018最新前端面試題九

#2018最新前端面試題八

以上是2018最新前端面試題十一的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何創建和發布自己的JavaScript庫? 如何創建和發布自己的JavaScript庫? Mar 18, 2025 pm 03:12 PM

文章討論了創建,發布和維護JavaScript庫,專注於計劃,開發,測試,文檔和促銷策略。

如何在瀏覽器中優化JavaScript代碼以進行性能? 如何在瀏覽器中優化JavaScript代碼以進行性能? Mar 18, 2025 pm 03:14 PM

本文討論了在瀏覽器中優化JavaScript性能的策略,重點是減少執行時間並最大程度地減少對頁面負載速度的影響。

前端熱敏紙小票打印遇到亂碼問題怎麼辦? 前端熱敏紙小票打印遇到亂碼問題怎麼辦? Apr 04, 2025 pm 02:42 PM

前端熱敏紙小票打印的常見問題與解決方案在前端開發中,小票打印是一個常見的需求。然而,很多開發者在實...

如何使用瀏覽器開發人員工具有效調試JavaScript代碼? 如何使用瀏覽器開發人員工具有效調試JavaScript代碼? Mar 18, 2025 pm 03:16 PM

本文討論了使用瀏覽器開發人員工具的有效JavaScript調試,專注於設置斷點,使用控制台和分析性能。

如何使用源地圖調試縮小JavaScript代碼? 如何使用源地圖調試縮小JavaScript代碼? Mar 18, 2025 pm 03:17 PM

本文說明瞭如何使用源地圖通過將其映射回原始代碼來調試JAVASCRIPT。它討論了啟用源地圖,設置斷點以及使用Chrome DevTools和WebPack之類的工具。

誰得到更多的Python或JavaScript? 誰得到更多的Python或JavaScript? Apr 04, 2025 am 12:09 AM

Python和JavaScript開發者的薪資沒有絕對的高低,具體取決於技能和行業需求。 1.Python在數據科學和機器學習領域可能薪資更高。 2.JavaScript在前端和全棧開發中需求大,薪資也可觀。 3.影響因素包括經驗、地理位置、公司規模和特定技能。

開始使用Chart.js:PIE,DONUT和BUBBLE圖表 開始使用Chart.js:PIE,DONUT和BUBBLE圖表 Mar 15, 2025 am 09:19 AM

本教程將介紹如何使用 Chart.js 創建餅圖、環形圖和氣泡圖。此前,我們已學習了 Chart.js 的四種圖表類型:折線圖和條形圖(教程二),以及雷達圖和極地區域圖(教程三)。 創建餅圖和環形圖 餅圖和環形圖非常適合展示某個整體被劃分為不同部分的比例。例如,可以使用餅圖展示野生動物園中雄獅、雌獅和幼獅的百分比,或不同候選人在選舉中獲得的投票百分比。 餅圖僅適用於比較單個參數或數據集。需要注意的是,餅圖無法繪製值為零的實體,因為餅圖中扇形的角度取決於數據點的數值大小。這意味著任何占比為零的實體

初學者的打字稿,第2部分:基本數據類型 初學者的打字稿,第2部分:基本數據類型 Mar 19, 2025 am 09:10 AM

掌握了入門級TypeScript教程後,您應該能夠在支持TypeScript的IDE中編寫自己的代碼,並將其編譯成JavaScript。本教程將深入探討TypeScript中各種數據類型。 JavaScript擁有七種數據類型:Null、Undefined、Boolean、Number、String、Symbol(ES6引入)和Object。 TypeScript在此基礎上定義了更多類型,本教程將詳細介紹所有這些類型。 Null數據類型 與JavaScript一樣,TypeScript中的null

See all articles