您好,登錄后才能下訂單哦!
本篇內容主要講解“CSS3屬性box-sizing的使用方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“CSS3屬性box-sizing的使用方法”吧!
box-sizing用于改變CSS盒子模型,從而改變元素寬高的計算方式。
box-sizing取值如下:
代碼如下:
box-sizing: content-box | padding-box | border-box
默認值是 content-box ,對應CSS2.1規范中標準的盒子模型計算方式,即 width 和 height 是內容區的寬與高, 不包括邊框,內邊距,外邊距;
padding-box 根據MDN的說法,目前還是一個實驗性的屬性, width 和 height 包括內容區和內邊距,不包括邊框和外邊據;
border-box 包括內邊距與邊框,不包括外邊距。這是IE 怪異模式(Quirks mode)使用的 盒模型 。
例子(摘自MDN)
代碼如下:
/* support Firefox, WebKit, Opera and IE8+ */
.example {
-moz-box-sizing: border-box;
box-sizing: border-box;
}
對JS的影響
根據MDN的敘述:
由window.getComputedStyle 獲取height時不會考慮box-sizing, 至少 Firefox 18 (bug 520992) 與 Internet Explorer 9 是這樣, 不過Chrome 24 不是(其它瀏覽器未測試). 注意 IE9 currentStyle 不能返回正確的height值。
關于Firefox 18及IE9之后的版本,我還沒有測試。
關于jQuery中 .width() 和 .height() 的返回值
jQuery 1.8 版本之后增加了對 box-sizing 的支持,但這還與瀏覽器是否支持 box-sizing 有關,簡而言之,1.8版本之后, .width() 和 .height() 返回的永遠都是內容區的寬和高,見如下代碼:
代碼如下:
<!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>
各瀏覽器打印結果如下
IE6/7 : 500
IE8/9/10: 480
Safari5/6: 480
Chrome21/Firefox14: 480
IE6/7不支持box-sizing,內容區的寬度是500,所以輸出的值也是500,而其他支持該屬性的瀏覽器,內容區寬度減去了 padding 和 border 的值,變成了480.
另:jquery中的 .outerWidth() 和 .outerHeight() 方法不受影響。
到此,相信大家對“CSS3屬性box-sizing的使用方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。