什么是calc()?
????calc()是CSS3的一個(gè)新功能,能夠動(dòng)態(tài)地計(jì)算長(zhǎng)度值,任何長(zhǎng)度值都可以使用calc()來(lái)計(jì)算。你可以給一個(gè)div元素,使用百分比、em、px和rem單位值計(jì)算出其寬度或者高度,比如“width:calc(50% + 2em)”,這樣一來(lái)你就不用考慮元素DIV的寬度值到底是多少,而把這個(gè)煩人的任務(wù)交由瀏覽器去計(jì)算。
(在使用的時(shí)候應(yīng)當(dāng)注意運(yùn)算符前后都應(yīng)該保留空格,盡管*和/這兩個(gè)運(yùn)算符并不需要保留空格,但是為了習(xí)慣最好加上。)
語(yǔ)法
? ? 除了移動(dòng)端的瀏覽器之外,目前大多數(shù)的瀏覽器都對(duì)calc()有較好的兼容性,但是依舊要在前面添加前綴,例如:
兼容性使用
????在calc()中,我們可以混合絕對(duì)單元與相對(duì)單元,比如:
結(jié)合相對(duì)于絕對(duì)單元的用法
????使用calc()時(shí),計(jì)算值是表達(dá)式自己,而非表達(dá)式的結(jié)果,當(dāng)使用CSS預(yù)處理器做數(shù)學(xué)運(yùn)算時(shí),給定值為表達(dá)式的結(jié)果。
????然后瀏覽器解析的calc()的值為真實(shí)的calc()表達(dá)式
????我們可以使用calc()來(lái)實(shí)現(xiàn)元素的垂直居中
????而典型的解決方法是使用負(fù)外邊距移動(dòng)自身距離高與寬的一半
????實(shí)際上calc()還有很多的實(shí)際用法,這里只是舉一下例,歡迎補(bǔ)充