如何使用CSS3中calc()寬度計算做響應(yīng)模式布局

小編給大家分享一下如何使用CSS3中calc()寬度計算做響應(yīng)模式布局,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

專注于為中小企業(yè)提供網(wǎng)站設(shè)計、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)泉州免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

瀏覽這個http://www.sitepoint.com站時,因為好奇看了下人家寫的代碼,結(jié)果發(fā)現(xiàn)了這行代碼,

如何使用CSS3中calc()寬度計算做響應(yīng)模式布局

于是就研究了一下,calc()從字面我們可以把他理解為一個函數(shù)function。其實calc是英文單詞calculate(計算)的縮寫,是css3的一個新增的功能,用來指定元素的長度。比如說,你可以使用calc()給元素的border、margin、pading、font-size和width等屬性設(shè)置動態(tài)值。為何說是動態(tài)值呢?因為我們使用的表達(dá)式來得到的值。不過calc()最大的好處就是用在流體布局上,可以通過calc()計算得到元素的寬度。

calc()能做什么?

calc()能讓你給元素的做計算,你可以給一個div元素,使用百分比、em、px和rem單位值計算出其寬度或者高度,比如說“width:calc(50% + 2em)”,這樣一來你就不用考慮元素DIV的寬度值到底是多少,而把這個煩人的任務(wù)交由瀏覽器去計算。

calc()語法

calc()語法非常簡單,就像我們小時候?qū)W加 (+)、減(-)、乘(*)、除(/)一樣,使用數(shù)學(xué)表達(dá)式來表示:

width: calc(expression);

其中”expression”是一個表達(dá)式,用來計算長度的表達(dá)式。

calc()的運算規(guī)則

calc()使用通用的數(shù)學(xué)運算規(guī)則,但是也提供更智能的功能:

  1. 使用“+”、“-”、“*” 和 “/”四則運算;

  2. 可以使用百分比、px、em、rem等單位;

  3. 可以混合使用各種單位進(jìn)行計算;

  4. 表達(dá)式中有“+”和“-”時,其前后必須要有空格,如”widht: calc(12%+5em)”這種沒有空格的寫法是錯誤的;

  5. 表達(dá)式中有“*”和“/”時,其前后可以沒有空格,但建議留有空格。

瀏覽器的兼容性

如何使用CSS3中calc()寬度計算做響應(yīng)模式布局

我們來個例子,我們做一個三列并排的模塊,寬度按百分比、有padding值、有border值、還有margin-right,而且這三個值是px,

li{
float:left;

width:33.3333%;
height:50px;

padding:10px;
margin-right:10px;

background:#FF6666;
border:5px solid #DAC8A7;
}

效果圖:

如何使用CSS3中calc()寬度計算做響應(yīng)模式布局

它是不會好好并列的,在這種情況下就不好算了,就算算出來也有那么一點誤差,不是嗎?現(xiàn)在我們就用到了calc(),

li{
float:left;

//width:33.3333%;
height:50px;

padding:10px;
margin-right:15px;

background:#FF6666;
border:5px solid #DAC8A7;

width:calc(33.3333% - (10px + 5px) * 2 - 15px )

}

意思是(width-(padding+border)*2-margin)

現(xiàn)在可以并排了

如何使用CSS3中calc()寬度計算做響應(yīng)模式布局

好了,到這就告一段絡(luò)了,再稍微優(yōu)化一下左右邊15px的空距,讓兩邊都挨邊。就在父級上加個margin-right:-15px,OK 搞定

以上是“如何使用CSS3中calc()寬度計算做響應(yīng)模式布局”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁題目:如何使用CSS3中calc()寬度計算做響應(yīng)模式布局
文章鏈接:http://bm7419.com/article14/jcscge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司App開發(fā)、靜態(tài)網(wǎng)站、商城網(wǎng)站營銷型網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)