国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

前端常見知識點匯總(面試)-HTML和CSS部分

wuyangnju / 920人閱讀

摘要:一內(nèi)聯(lián)元素與行元素的區(qū)別內(nèi)聯(lián)元素即行內(nèi)元素。絕對定位,相對于定位以外的第一個父元素進行定位,元素脫離文檔流。

一、內(nèi)聯(lián)元素與行元素的區(qū)別

1、內(nèi)聯(lián)元素即行內(nèi)元素。
2、內(nèi)聯(lián)元素,在文檔流中擠在一行;不能設(shè)置寬高(即,即使設(shè)置了也不管用,例如a標(biāo)簽)、margin和padding的top和bottom
塊元素,獨占一行;可以設(shè)置寬高、margin、padding
3、可以使用display屬性進行修改:display:block|inline-block|inline
4、inline-block
水平排列;有寬高、margin和padding
1)可置換元素——天生的行內(nèi)塊

  img input button select textarear label

2)行內(nèi)塊不同于行內(nèi)元素,可以設(shè)置寬高
3)包裹性

  讓元素inline-block化
  inline-block在添加寬高之前,緊緊包裹內(nèi)容,添加寬高之后就不是了
  block默認寬度100%,設(shè)置absolute,變成包裹內(nèi)容
 
二、position屬性

1、static
沒有定位,元素出現(xiàn)在正常的文檔流中,默認屬性。
設(shè)置left、right、top、bottom、z-index屬性的設(shè)置不起作用
2、relative
相對于元素自己的正常位置進行定位,元素在正常的文檔流中
LRTBZ屬性設(shè)置起作用
3、fixed
固定定位,相對于瀏覽器窗口定位,即瀏覽器滾動也不會影響元素的位置,且與文檔流無關(guān),因此不占空間,可能會與其他元素重疊。LRTBZ屬性設(shè)置起作用。
4、absolute
絕對定位,相對于static定位以外的第一個父元素進行定位,元素脫離文檔流。
注意:body也是父元素

三、display:none;和visibility:hidden;

聯(lián)系:都能讓元素不可見

區(qū)別:

display:none; visibility:hidden;
元素從渲染樹中消失,渲染的時候不占空間 元素不從渲染書中消失,渲染的時候仍占空間,只是內(nèi)容不可見
非繼承屬性,子孫節(jié)點的消失是由于元素從渲染樹中消失造成的,修改子孫節(jié)點的屬性依然無法顯示 繼承屬性,子孫節(jié)點消失由于繼承了hidden,設(shè)置visibility:visible;可以讓子孫節(jié)點顯示
修改常規(guī)流中元素的display會造成文檔的重排(回流) 修改visibility屬性只會造成本元素重繪
讀屏器不會讀取display:none;的元素內(nèi)容; 會讀取

注意:讀屏器即為瀏覽器渲染

四、回流(重排)和重繪

只要某個改動會影響其他元素,就會造成回流。
回流:修改元素的布局樣式,例如width、height、top、margin等會影響整個頁面的布局,瀏覽器會重新執(zhí)行l(wèi)ayout過程,性能開銷很大。(尺寸、位置、隱藏狀態(tài)等布局樣式)
重繪:修改元素的非布局樣式,例如,color、background等,不影響整個頁面的布局,瀏覽器只會對該元素重新繪制,開銷相對較小。
注意:回流必將引起重繪,但是重繪不一定會引起回流。
性能優(yōu)化

使用visibility:hidden;,而不用display:none;隱藏元素

如果需要頻繁地修改DOM樣式,盡量使用預(yù)先定義好的CSS的class修改DOM的className.

為需要添加動畫的HTML元素,添加position:absolute|fixed;屬性值,這樣修改該元素的CSS時不會引起回流(動畫最好用CSS3動畫,只會引起兩次重繪)——分析:這是因為絕對定位和固定定位可以讓元素脫離文檔流。

不要使用table布局。因為可能很小的改動,就會引起整個table的重新布局。

——分析:冗余度 table>div>flex
table元素的作用是顯示表格化的數(shù)據(jù),不是作為布局工具設(shè)置的。
一般使用div+css實現(xiàn)布局。
為什么不用table布局呢?
1、table比其他HTML標(biāo)記占更多的字節(jié),造成下載延遲,占用服務(wù)器更多流量資源。
2、阻擋瀏覽器渲染引擎的渲染順序,會延遲頁面的生成速度,讓用戶等待更久的時間。
如何最小化重繪和回流?
答:
1)對元素進行復(fù)雜操作時,可以先用display:none;隱藏,操作完成后再顯示。
2)盡量避免使用table布局
3)避免使用CSS表達式,因為每次調(diào)用都會重新計算值
4)需創(chuàng)建多個DOM節(jié)點時,使用DocumentFragment創(chuàng)建完后一次性地加入document。例如,

var frag = document.createDocumentFragment()//文檔碎片節(jié)點
//將element通過appendChild添加到frag中,再講frag一次性加入document
五、瀏覽器渲染過程

1、解析HTML標(biāo)簽,構(gòu)建DOM樹
2、解析CSS文件,構(gòu)建CSS Rule Tree
3、根據(jù)DOM樹和CSS規(guī)則書,構(gòu)建render tree。DOM Tree中一些節(jié)點不會被放入到Render Tree中。例如,header、display為none的節(jié)點。
4、構(gòu)建出render tree后,瀏覽器已經(jīng)知道頁面中有哪些節(jié)點以及對應(yīng)的樣式、從屬關(guān)系等。在layout過程中計算每個節(jié)點在頁面中的位置,最后繪制到頁面上。


圖片來源

六、盒模型

可以通過box-sizing:border-box|content-box;來設(shè)置盒模型。
HTML文檔中各元素被渲染描述成矩形盒子。
盒模型表示每個元素盒子所占空間大小的模型。
分類:

W3C標(biāo)準(zhǔn)盒模型(IE6及以上版本)content-box:width=content

IE怪異盒模型(IE6以下版本)border-box:width=content+padding——不能用padding撐開盒子

七、CSS解析規(guī)則

1、先遍歷內(nèi)嵌樣式,接著頭部樣式,最后外鏈樣式(外鏈樣式放在頭部樣式之后,對于同一元素而言,外鏈樣式則會覆蓋頭部樣式)
2、CSS優(yōu)先級(!important>內(nèi)嵌樣式>頭部樣式)
3、同一優(yōu)先級文件內(nèi),ID>class、屬性選擇器、偽類>div、偽元素
4、同一優(yōu)先級內(nèi),后面樣式覆蓋前面樣式

(一)選擇器類型

4個基礎(chǔ)選擇器,5個復(fù)合選擇器
選擇器是一種模式,用于選擇需要添加樣式的元素。
(1)4種基礎(chǔ)選擇器
類選擇器;ID選擇器;通配符選擇器(*);元素選擇器
(2)5種復(fù)合選擇器
交集選擇器:標(biāo)簽+類/id選擇器{屬性:值;}
并集選擇器:例如:h1,h2,p(也叫選擇器分組)
后代選擇器:選擇器+空格+選擇器(兩個選擇器必須滿足嵌套關(guān)系,父元素在前,子元素在后,無限制隔代)
子代選擇器:選擇器>選擇器(選中直接下一代元素,也叫子選擇器,子元素選擇器)
相鄰兄弟選擇器:例如:h1+p(兩者具有相同父元素)
補充:屬性選擇器:ahref{color:red;}
CSS偽類:向某些選擇器添加特殊效果。例如a:link|visited|hover|active;:focus(擁有鍵盤輸入焦點,無法再IE中工作);:first-child(元素的第一個子元素);:lang(帶有指定lang屬性)
CSS偽元素:向某些選擇器設(shè)置特殊效果。例如,p:first-line|first-letter;h1:before|after。在CSS3中變成了::,增加了::selection

(二)CSS權(quán)重
用于計算優(yōu)先級,優(yōu)先級計算無視DOM樹中的距離
內(nèi)聯(lián)樣式 1000
ID選擇器 100
類=偽類=屬性選擇器 10
元素選擇器=偽元素選擇器 1
八、CSS布局

具體見淺談CSS布局

九、CSS Hack

簡單來講,CSS Hack就是針對不同的瀏覽器或同一瀏覽器的不同版本編寫特定的CSS樣式,以獲得統(tǒng)一的頁面效果。
CSS Hack包括:

屬性Hack
IE6能識別下劃線“_”和星號“*”
IE7能識別星號“*”,但不能識別下劃線“_”

選擇器Hack
IE6能識別*html .class{}
IE7能識別*+html .class

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/53485.html

相關(guān)文章

  • 前端常見識點匯總面試)-HTMLCSS部分

    摘要:一內(nèi)聯(lián)元素與行元素的區(qū)別內(nèi)聯(lián)元素即行內(nèi)元素。絕對定位,相對于定位以外的第一個父元素進行定位,元素脫離文檔流。 一、內(nèi)聯(lián)元素與行元素的區(qū)別 1、內(nèi)聯(lián)元素即行內(nèi)元素。2、內(nèi)聯(lián)元素,在文檔流中擠在一行;不能設(shè)置寬高(即,即使設(shè)置了也不管用,例如a標(biāo)簽)、margin和padding的top和bottom 塊元素,獨占一行;可以設(shè)置寬高、margin、padding3、可以使用displa...

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

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

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

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

    wangjuntytl 評論0 收藏0
  • Web前端面試題目匯總

    摘要:前端面試題目匯總一部分什么是盒子模型盒子模型包含內(nèi)容內(nèi)邊距外邊距和邊框四部分。第四步本地服務(wù)器再向上一步返回的域名服務(wù)器發(fā)送請求,然后接受請求的服務(wù)器查詢自己的緩存,如果沒有該記錄項,則返回相關(guān)的下級的域名服務(wù)器的地址。 Web前端面試題目匯總 一、HTML/CSS部分 1.什么是盒子模型? 盒子模型包含內(nèi)容(content)、內(nèi)邊距(pandding)、外邊距(margin)和邊...

    golden_hamster 評論0 收藏0

發(fā)表評論

0條評論

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