css3實現能夠計算的自適應佈局——calc()

開始咱們須要先了解什麼是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()

 

 

 兼容問題也不是很大


 強勢的分割線 -- 原創文章碼字不易,轉載請註明出處

相關文章
相關標籤/搜索