首页 >

CSSbox-sizing属性为什么没有margin-box? |css -webkit

css文字样式和边框样式,html和css画图,css内嵌盒子居中,vs2013css格式,css如何实现浮动元素居中,CSS捉迷藏剧本杀新手,css -webkitCSSbox-sizing属性为什么没有margin-box? |css -webkit

Box-sizing是CSS3的Box属性之一,那他当然也遵循CSS的Boxmodel原理,CSS中Boxmodel是分为两种,第一种是W3C的标准模型,另一种是IE的传统模型,他们相同之处都是对元素计算尺寸的模型,具体说就是对元素的width,height,padding,border以及元素实际尺寸的计算关系。

1、W3C的标准BoxModel:

/*外盒尺寸计算(元素空间尺寸)*/Element空间高度=contentheight+padding+border+marginElement空间宽度=contentwidth+padding+border+margin/*内盒尺寸计算(元素大小)*/ElementHeight=contentheight+padding+border(Height为内容高度)ElementWidth=contentwidth+padding+border(Width为内容宽度)。

2、IE)传统下BoxModel(IE6以下,不含IE6版本或“QuirksMode下IE5.5+”):

/*外盒尺寸计算(元素空间尺寸)*/Element空间高度=contentHeight+margin(Height包含了元素内容宽度,边框宽度,内距宽度)Element空间宽度=contentWidth+margin(Width包含了元素内容宽度、边框宽度、内距宽度)/*内盒尺寸计算(元素大小)*/ElementHeight=contentHeight(Height包含了元素内容宽度,边框宽度,内距宽度)ElementWidth=contentWidth(Width包含了元素内容宽度、边框宽度、内距宽度)。

box-sizing属性:

1、content-box:此值为其默认值,其让元素维持W3C的标准BoxModel,也就是说元素的宽度/高度(width/height)等于元素边框宽度(border)加上元素内边距(padding)加上元素内容宽度/高度(contentwidth/height)即:ElementWidth/Height=border+padding+contentwidth/height。

2、border-box:此值让元素维持IE传统的BoxModel(IE6以下版本),也就是说元素的宽度/高度等于元素内容的宽度/高度。(从上面BoxModel介绍可知,大家这里的contentwidth/height包含了元素的border,padding,内容的width/height【此处的内容宽度/高度=width/height-border-padding】)。

说这么多为什么没有margin-box属性,个人觉也许是用户场景需求不足导致未制定该属性。


CSSbox-sizing属性为什么没有margin-box? |css -webkit
  • css样式中spry是什么意思,怎么运用? |css 文字阴影效果
  • css样式中spry是什么意思,怎么运用? |css 文字阴影效果 | css样式中spry是什么意思,怎么运用? |css 文字阴影效果 ...

    CSSbox-sizing属性为什么没有margin-box? |css -webkit
  • 自动驾驶时代真的来了吗? - 网络|
  • 自动驾驶时代真的来了吗? - 网络| | 自动驾驶时代真的来了吗? - 网络| ...

    CSSbox-sizing属性为什么没有margin-box? |css -webkit
  • css 屏幕兼容 |css动态圆圈
  • css 屏幕兼容 |css动态圆圈 | css 屏幕兼容 |css动态圆圈 ...