開始咱們須要先了解什麼是calc() ,calc()是一個CSS函數,你能夠使用calc()給元素的margin、pading、width等屬性設置html
並且你還能夠在一個calc()內部嵌套另外一個
calc()
express
clac()的語法就很是簡單了 , 使用數學表達式來表示: 函數
expression 一個數學表達式,用來計算長度的表達式,該表達式的結果會做爲最終的值。spa
clac()使用「+」、「-」、「*」 和 「/」四則運算,能夠使用百分比、px、em、rem等單位,並且能夠混用多種單位計算code
須要注意的是htm
若是「0」做爲除數會讓HTML解析器拋出異常.blog
「+」和「-」時,先後必需要有空格 好比calc(100%-15px) 這是錯誤的rem
「*」和「/」時,先後能夠不留空格,可是建議加上空格input
舉兩個栗子數學
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>demo</title> 6 <style> 7 .box{ 8 width: 500px; 9 height: 300px; 10 } 11 .left{ 12 width: 250px; 13 background:#ccc; 14 float: left; 15 } 16 .right{ 17 width: calc(100% - 250px); 18 float: right; 19 background: #333; 20 } 21 .left,.right{ 22 height: 100%; 23 } 24 </style> 25 </head> 26 <body> 27 28 <div class="box"> 29 <div class="left"></div> 30 <div class="right"></div> 31 </div> 32 33 </body> 34 </html>
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>demo</title> 6 <style> 7 .demo{ 8 width: 500px; 9 } 10 .box{ 11 width: 100%; 12 height: 30px; 13 background: #ccc; 14 } 15 input{ 16 width: 100%; 17 border:1px solid #333; 18 width: calc(100% - (0px + 1px) * 2); 19 } 20 </style> 21 </head> 22 <body> 23 <div class="demo"> 24 <div class="box"> 25 <input type="text"> 26 </div> 27 </div> 28 </body> 29 </html>
若是不使用calc()
兼容問題也不是很大
強勢的分割線 -- 原創文章碼字不易,轉載請註明出處