如何使用CSS3中的calc()屬性來表達尺寸

來源:互聯網
上載者:User
這篇文章主要介紹了關於如何使用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>

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.