CSS3 calc()用法簡單介紹

admin發表於2017-03-30

calc是calculate(計算的意思)縮寫。

從calc()的外表來看,它類似於程式語言中的方法,具有計算功能。

確實如此,它可以動態的計算css中一些元素的相關屬性值,能夠運用簡單的"+"、"-"、"*"、"/"四則運算。

基本規則如下:

(1).可以使用百分比、px、em、rem等單位。

(2).可以混合使用各種單位進行計算。

下面看幾個程式碼片段:

[CSS] 純文字檢視 複製程式碼
.box{
  border:1px solid #ddd;
  width:calc(100%-2px)
}

上面的程式碼可以讓.box元素寬度加上邊框寬度正好100%,能夠實現自適應效果。

[CSS] 純文字檢視 複製程式碼
.box{ 
  width:calc(10em+20px) 
}

設定.box寬度為10em加20px。

下面一個完整的雜湊等寬全屏佈局效果:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>螞蟻部落</title>
<style type="text/css">
*{
  margin:0;
  padding:0;
}
.col-3{
  width:calc(100%/3 - 5px);
  float:left;
  margin-right:calc(5px*3 /2);
  background:#eee;
  color:#333;
  height:100px;
  text-align:center;
  margin-bottom:calc(5px*3 /2);
  font-size:18px;
  line-height: 100px;
}
.col-3:nth-child(3){margin-right:0;}
</style>
</head>
<body>
<div class="container">
  <div class="col-3">1</div>
  <div id="antzone" class="col-3">2</div>
  <div class="col-3">3</div>
</div>
</body>
</html>

上面的程式碼實現了雜湊等寬佈局效果,這裡就採用calc()實現動態計算,能夠實現寬度自適應。

相關閱讀:

(1).calc()可以參閱CSS3 calc()一章節。

(2).:nth-child()可以參閱CSS E:nth-child(n)一章節。