什麼是 calc()css
簡單通俗的將,就是能把不一樣單位的屬性執行四則運算,產出結果。html
舉一個簡單的例子css3
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> .out { width: 500px; height: 300px; border: 1px solid #ccc; } .in { background: red; /*width: calc(100% - 25px);*/ width: 100%; margin-left: 25px; } </style> </head> <body> <div class="out"> <div class="in"> **calc()**從字面咱們能夠把他理解爲一個函數function。其實calc是英文單詞calculate(計算)的縮寫,是css3的一個新增的功能,用來指定元素的長度。好比說,你能夠使用calc()給元素的border、margin、pading、font-size和width等屬性設置動態值。爲什麼說是動態值呢?由於咱們使用的表達式來獲得的值。不過calc()最大的好處就是用在流體佈局上,能夠經過calc()計算獲得元素的寬度。 text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... </div> </div> </body> </html>
展現效果以下圖web
由於咱們內部div的寬度爲100%,而後又設置了margin-left,因此內部超出了外面的div,有時候咱們不想要這種效果,咱們繼續測試下面的代碼函數
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> .out { width: 500px; height: 300px; border: 1px solid #ccc; } .in { background: red; width: calc(100% - 25px); margin-left: 25px; } </style> </head> <body> <div class="out"> <div class="in"> calc()從字面咱們能夠把他理解爲一個函數function。其實calc是英文單詞calculate(計算)的縮寫,是css3的一個新增的功能,用來指定元素的長度。好比說,你能夠使用calc()給元素的border、margin、pading、font-size和width等屬性設置動態值。爲什麼說是動態值呢?由於咱們使用的表達式來獲得的值。不過calc()最大的好處就是用在流體佈局上,能夠經過calc()計算獲得元素的寬度。 text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... </div> </div> </body> </html>
以下圖 佈局
這樣咱們就達成了預期效果。測試
最後來看看兼容性code
2015-12-10 edire 發表於極客學院 http://qun.jikexueyuan.com/web/topic/224htm