css3實現可以計算的自適應布局——calc()


開始我們需要先了解什么是calc() ,calc()是一個CSS函數,你可以使用calc()給元素的margin、pading、width等屬性設置

而且你還可以在一個calc()內部嵌套另一個calc() 

clac()的語法就非常簡單了 , 使用數學表達式來表示: 

expression 一個數學表達式,用來計算長度的表達式,該表達式的結果會作為最終的值。

clac()使用“+”、“-”、“*” 和 “/”四則運算,可以使用百分比、px、em、rem等單位,而且可以混用多種單位計算

需要注意的是

如果“0”作為除數會讓HTML解析器拋出異常.

“+”和“-”時,前后必須要有空格 比如calc(100%-15px) 這是錯誤的

“*”和“/”時,前后可以不留空格,但是建議加上空格

 

舉兩個栗子

 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()

 

 

 兼容問題也不是很大


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM