CSS3 calc()

什么是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ǔ)充

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,796評(píng)論 1 92
  • 1. 什么是calc()? 其實(shí)calc是英文單詞calculate(計(jì)算)的縮寫,是css3的一個(gè)新增的功能,用...
    yzr_0802閱讀 235評(píng)論 0 0
  • sass里可以進(jìn)行計(jì)算,比如寬度,高度等,類似下面的語(yǔ)法 element{ width: 100px + 50px...
    avery1閱讀 472評(píng)論 0 0
  • 1、calc是什么? calc是英文單詞calculate(計(jì)算)的縮寫,用于動(dòng)態(tài)計(jì)算長(zhǎng)度值。 calc()函數(shù)支...
  • 如何寫好作文? 1、好的文章源于生活,寫你的所見(jiàn)、所聞;寫你的親身體會(huì);寫出你的真情實(shí)感,這樣的文章,才會(huì)生動(dòng)感人...
    劉婧_閱讀 335評(píng)論 4 2