這篇文章講述使用CSS3中calc()屬性來以運算式表達尺寸數值的說明
calc()的用法十分巧妙,可以像我們在學校做數學應用題那樣列式子來計算長度寬度等值,從而一定程度上實現自適應佈局,下面我們就來介紹如何使用CSS3中的calc()屬性來以算式表達尺寸數值
我們想要實現頁面自適應佈局時,通常因為margin的存在,而比較麻煩;有時想要實現寬度自適應的輸入框時,也因為padding或margin的存在,而相當繁瑣,同時由於瀏覽器兼容性而導致最終效果不一致。 css3新添加屬性box-sizing,在一定程度上解決了上面的問題,而在今天的文章中我們來透過css3新增加的另外一個屬性calc()來實現適應佈局。
calc()是css3新新增屬性,它可以讓你使用算術表達式來表達長度值,這意味著可以用它來定義p的寬度,並設定margin、padding、border等。
calc()的運算規則:
1.使用”+”、”-”、”*”、”/”四則運算;
2.可以使用百分比、px、em、rem等單位;
3.可以混合使用各種單位進行計算。
用法
calc()文法非常簡單,就像我們小時候學加(+)、減(-)、乘(*)、除(/)一樣,使用數學表達式來表示:
.haorooms { width: calc(expression); }
這樣padding和margin和百分比一起用,問題就可以解決了。
例如,我們margin是20px。那我們就可以寫成
.haorooms{ width: calc(100% - 20px); //注:减号前后要有空格,否则很可能不生效!! }
也可以這麼用:
.box { background: #f60; height: 50px; padding: 10px; border: 5px solid green; width: 90%;/*写给不支持calc()的浏览器*/ width:-moz-calc(100% - (10px + 5px) * 2); width:-webkit-calc(100% - (10px + 5px) * 2); width: calc(100% - (10px + 5px) * 2); }
範例
實例1:定位頁面上的區塊元素,含有外邊距
.banner { position:absolute; left: 40px; width: -moz-calc(100% - 80px); width: -webkit-calc(100% - 80px); width: calc(100% - 80px); border: solid black 1px; box-shadow: 1px 2px; background-color: yellow; padding: 6px; text-align: center; }
實例2:自動調整大小的表單,又適應容器
input { padding: 2px; display: block; width: -moz-calc(100% - 1em); width: -webkit-calc(100% - 1em); width: calc(100% - 1em); } #formbox { width: -moz-calc(100%/6); width: -webkit-calc(100%/6); width: calc(100%/6); border: 1px solid black; padding: 4px; }
<form> <p id="formbox"> <label>Type something:</label> <input type="text"> </p> </form>
以上是使用CSS3中calc()屬性來以算式表示尺寸數值的說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!