溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

CSS3屬性box-sizing怎么用

發(fā)布時(shí)間:2022-03-01 14:43:19 來(lái)源:億速云 閱讀:105 作者:小新 欄目:web開(kāi)發(fā)

這篇文章主要介紹CSS3屬性box-sizing怎么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

box-sizing用于改變CSS盒子模型,從而改變?cè)貙捀叩挠?jì)算方式。

box-sizing取值如下:


box-sizing: content-box | padding-box | border-box

默認(rèn)值是  content-box ,對(duì)應(yīng)CSS2.1規(guī)范中標(biāo)準(zhǔn)的盒子模型計(jì)算方式,即 width 和 height 是內(nèi)容區(qū)的寬與高, 不包括邊框,內(nèi)邊距,外邊距;

 padding-box 根據(jù)MDN的說(shuō)法,目前還是一個(gè)實(shí)驗(yàn)性的屬性, width 和 height 包括內(nèi)容區(qū)和內(nèi)邊距,不包括邊框和外邊據(jù);

 border-box 包括內(nèi)邊距與邊框,不包括外邊距。這是IE 怪異模式(Quirks mode)使用的 盒模型 。

例子(摘自MDN)


/* support Firefox, WebKit, Opera and IE8+ */

.example {
-moz-box-sizing: border-box;
box-sizing: border-box;
}

對(duì)JS的影響
根據(jù)MDN的敘述:

由window.getComputedStyle 獲取height時(shí)不會(huì)考慮box-sizing, 至少 Firefox 18 (bug 520992) 與 Internet Explorer 9 是這樣,  不過(guò)Chrome 24 不是(其它瀏覽器未測(cè)試). 注意 IE9 currentStyle 不能返回正確的height值。

關(guān)于Firefox 18及IE9之后的版本,我還沒(méi)有測(cè)試。

關(guān)于jQuery中 .width() 和 .height() 的返回值
jQuery 1.8 版本之后增加了對(duì) box-sizing 的支持,但這還與瀏覽器是否支持 box-sizing 有關(guān),簡(jiǎn)而言之,1.8版本之后, .width() 和 .height() 返回的永遠(yuǎn)都是內(nèi)容區(qū)的寬和高,見(jiàn)如下代碼:


<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"/> 
<style type="text/css">
#container { 
-moz-box-sizing: border-box; 
box-sizing: border-box; 
width: 500px; 
padding: 5px; 
border: 5px solid gold; 

</style> 
<script src="js/jquery-1.8.0.js"></script> 
</head> 
<body> 
<div id="container"></div> 
<script> 
var $el = $('#container') 
var w = $el.width(); 
console.log(w) 
</script> 
</body> 
</html>

各瀏覽器打印結(jié)果如下

IE6/7 : 500
IE8/9/10: 480
Safari5/6: 480
Chrome21/Firefox14: 480
 IE6/7不支持box-sizing,內(nèi)容區(qū)的寬度是500,所以輸出的值也是500,而其他支持該屬性的瀏覽器,內(nèi)容區(qū)寬度減去了 padding 和 border 的值,變成了480.

另:jquery中的 .outerWidth() 和 .outerHeight() 方法不受影響。

以上是“CSS3屬性box-sizing怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI