CSS(層疊樣式表 Cascading Style Sheets,縮寫(xiě)為 CSS)
CSS用于設(shè)置網(wǎng)頁(yè)的樣式及布局竿刁,是一種樣式語(yǔ)言。
CSS 被分為不同等級(jí):CSS1 現(xiàn)已廢棄搪缨, CSS2.1 是推薦標(biāo)準(zhǔn)食拜,被運(yùn)用得最廣泛,而CSS3分成多個(gè)小模塊且正在標(biāo)準(zhǔn)化中副编。
1. 瀏覽器渲染原理
參考谷歌開(kāi)發(fā)者團(tuán)隊(duì)編寫(xiě)的文檔
1)根據(jù)HTML元素構(gòu)建DOM樹(shù)监婶;
2)根據(jù)CSS元素構(gòu)建CSSOM樹(shù);
3)將DOM樹(shù)和CSSOM樹(shù)合并成一棵渲染樹(shù)(render tree)齿桃;
4)根據(jù)渲染樹(shù)來(lái)布局,計(jì)算出每個(gè)節(jié)點(diǎn)的幾何位置(文檔流煮盼,盒模型短纵,位置及大小)僵控;
5)最后香到,將每個(gè)節(jié)點(diǎn)繪制到屏幕上,根據(jù)層疊關(guān)系展示畫(huà)面报破。
雖然網(wǎng)頁(yè)的展示頁(yè)面看似簡(jiǎn)單悠就,但實(shí)則都是經(jīng)過(guò)了上述的5個(gè)步驟。一旦我們修改了DOM樹(shù)或CSSOM樹(shù)充易,那只能再重復(fù)一遍上述步驟來(lái)進(jìn)行重新渲染梗脾。
2.用2種方法實(shí)現(xiàn)CSS動(dòng)畫(huà)
當(dāng)許多靜止的畫(huà)面(幀)以一定速度(如每秒30幀)連續(xù)播放時(shí),人的肉眼因視覺(jué)殘象產(chǎn)生了錯(cuò)覺(jué)誤以為是活動(dòng)的畫(huà)面盹靴。
1)transition 過(guò)渡
CSS transitions 可以決定哪些屬性發(fā)生動(dòng)畫(huà)效果 (明確地列出這些屬性)炸茧,何時(shí)開(kāi)始 (設(shè)置 delay)瑞妇,持續(xù)多久 (設(shè)置 duration) 以及如何動(dòng)畫(huà) (定義timing function,比如勻速地或先快后慢)梭冠。
過(guò)渡只從開(kāi)始到結(jié)束變化辕狰。如要循環(huán),則需要用animation
2)animation 動(dòng)畫(huà)
animation屬性是animation-name
動(dòng)畫(huà)名控漠,animation-duration
時(shí)長(zhǎng), animation-timing-function
過(guò)渡方式蔓倍,animation-delay
延遲,animation-iteration-count
次數(shù)盐捷,animation-direction
方向偶翅,animation-fill-mode
填充模式和 animation-play-state
是否暫停 屬性的一個(gè)簡(jiǎn)寫(xiě)屬性形式。
學(xué)習(xí)CSS時(shí)毙驯,需要多寫(xiě)代碼倒堕,多查文檔,多試驗(yàn)爆价。