CSS3表達式calc( )
第一次看到calc( )時,不太相信calc()是css中的部分。因為看其外表像個函數,但是CSS里為啥會有表達式我也不太清楚,偶然機會在網頁里看到的,自己切片寫自適應時嘗試了一下,完美。接下來就和大家分享一下CSS表達式calc( )
calc( )我們可以把他理解為一個函數function。cale是英語單詞calculate(計算)的縮寫,是css3的一個新增的功能,用來指定元素的長度。比如在寫自適應時候,就可以用cale( )給元素的border、margin、padding、font-size、width和定位等屬性設置為動態值。就可以自動計算值了。
calc( )完全可以照我們小學學的加(+)、減(-)、乘(*)、除(/)一樣來計算,也遵守四則運算,但是要自己帶單位,如百分比、px、em、rem等單位,里邊有“+”和“-”時,其前后必須要有空格,沒有空格瀏覽器不會識別,也不會報錯,有“*”和“/”時,其前后可以沒有空格,但建議留有空格,一家人就要齊齊整整嘛。
舉個栗子
文案設計的置頂小圖標居右卻不靠邊,給了position:fixed以后,這個小圖標就會相對於瀏覽器窗口定位,當窗口在1200px和1920px之間時,小圖標距離右邊的距離是定死的,就會遮擋內容部分。當然也可以用js給小圖標定位,獲取右側導航條位置,隨之下移,這樣就要先獲取屏幕高度,然后到一定高度小圖標出現,還要獲取導航條位置,讓小圖標隨導航條下移,喏,要是換做用cale( )就只需要一個表達式了,
看效果,在窗口為1371px和1801px時,返回頂部按鈕依然在相同的位置。
瀏覽器對calc()的兼容性還算不錯,在IE9+、FF4.0+、Chrome19+、Safari6+都得到較好支持,同樣需要在其前面加上各瀏覽器廠商的識別符,不過可惜的是,移動端的瀏覽器還沒僅有“firefox for android 14.0”支持,其他的全軍覆沒。
實際使用時,同樣需要添加瀏覽器的前綴,