蚂蚁动态卡片中的盒模型基于 CSS 盒模型,将所有元素表示为一个个矩形的盒子(box),其他样式决定这些盒子的大小、位置以及属性(例如颜色、背景、边框……)。
盒模型描述了一个元素所占的控件,每个盒子有四个边界:外边距边界(margin edge)、边框边界(border edge)、内边距边界(padding edge)、内容边界(content edge)。
外边距
外边距指元素和元素之间的空白距离,由 margin 属性控制,简写与非简写方式都支持。
属性  | 描述  | 值类型  | 默认值  | 可选值  | 写法  | 备注  | 
margin  | 外边框距离  | 长度单位  | 0  | auto; 单值长度单位或百分比  | margin: 10px 10px 10px 10px;  | 四个属性值依次对应上、右、下、左边框的距离  | 
margin: 10px 10px 10px;  | 三个属性值依次对应上、左右、下边框的距离  | |||||
margin: 10px 10px;  | 依次对应上下、左右边框的距离  | |||||
margin: 10px;  | 四边外边框距离相同  | |||||
margin-left  | 长度单位  | 0  | auto; 单值长度单位或百分比  | margin-left: 10px;  | -  | |
margin-right  | 长度单位  | 0  | auto; 单值长度单位或百分比  | margin-right: 10px;  | -  | |
margin-top  | 长度单位  | 0  | auto; 单值长度单位或百分比  | margin-top: 10px;  | -  | |
margin-bottom  | 长度单位  | 0  | auto; 单值长度单位或百分比  | margin-bottom: 10px;  | -  | 
内边距
内边距指内容和边框的距离,由 padding 属性控制,简写与非简写方式都支持。
属性  | 描述  | 值类型  | 默认值  | 可选值  | 写法  | 备注  | 
padding  | 内边距  | 长度单位  | 0  | auto; 单值长度单位或百分比  | padding: 10px 10px 10px 10px;  | 四个属性值依次对应上、右、下、左边的内边距  | 
padding: 10px 10px 10px;  | 三个属性值依次对应上、左右、下边的内边距  | |||||
padding: 10px 10px;  | 两个属性值依次对应上下、左右的内边距  | |||||
padding: 10px;  | 四边的内边距相同  | |||||
padding-left  | 长度单位  | 0  | auto; 单值长度单位或百分比  | padding-left: 10px;  | -  | |
padding-right  | 长度单位  | 0  | auto; 单值长度单位或百分比  | padding-right: 10px;  | -  | |
padding-top  | 长度单位  | 0  | auto; 单值长度单位或百分比  | padding-top: 10px;  | -  | |
padding-bottom  | 长度单位  | 0  | auto; 单值长度单位或百分比  | padding-bottom: 10px;  | -  | 
内容边距
内容边距指宽或高减去边框边界和内边距后的距离,即:内容边距=宽/高-边框边界-内边距。
宽高
卡片的 box-sizing 属性仅支持 border-box,意味着宽高设定的是边框区域的宽和高。
属性  | 描述  | 值类型  | 默认值  | 可选值  | 写法  | 
width  | 元素宽度  | 长度单位  | 0  | auto; 单值长度单位或百分比  | width: 100px;  | 
min-width  | 最小宽度限定  | 长度单位  | -  | -  | min-width: 50px;  | 
max-width  | 最大宽度限定  | 长度单位  | -  | -  | max-width: 200px;  | 
height  | 元素高度  | 长度单位  | 0  | auto; 单值长度单位或百分比  | height: 100px;  | 
min-height  | 最小高度限定  | 长度单位  | -  | -  | min-height: 50px;  | 
max-height  | 最大高度限定  | 长度单位  | -  | -  | max-height: 200px;  | 
边框
指定边框的样式,包括宽度、颜色、样式、圆角。支持 border、border-left、border-top、border-bottom、border-right 的简写方式,也支持 border-style、border-width、border-color、border-radius 的简写方式。
属性  | 描述  | 值类型  | 默认值  | 可选值  | 写法  | 备注  | 
border  | 边框  | string  | none  | -  | border: 1px solid #f32600;  | 宽度、线样式、颜色,三个元素位置不限  | 
border-left  | 左边框  | string  | none  | -  | border-left: 1px solid #f32600;  | |
border-right  | 右边框  | string  | none  | -  | border-right: 1px solid #f32600;  | |
border-top  | 上边框  | string  | none  | -  | border-top: 1px solid #f32600;  | |
border-bottom  | 下边框  | string  | none  | -  | border-bottom: 1px solid #f32600;  | |
border-style  | 边框样式  | string  | none  | dotted solid dashed none  | border-style: solid dotted dashed solid  | 四个属性值依次对应上、右、下、左边框的样式  | 
border-style: solid dotted solid  | 三个属性值依次对应上、左右、下边框的样式  | |||||
border-style: solid dashed  | 两个属性值依次对应上下、左右边框的样式  | |||||
border-style: solid  | 四边边框样式相同  | |||||
border-left-style  | string  | none  | border-left-style: solid  | -  | ||
border-top-style  | string  | none  | border-top-style: solid  | -  | ||
border-right-style  | string  | none  | border-right-style: solid  | -  | ||
border-bottom-style  | string  | none  | border-bottom-style: solid  | -  | ||
border-width  | 边框宽度  | 长度单位  | 3px  | -  | border-width: 1px 1px 1px 1px  | 依次对应上、右、下、左边框的宽度  | 
border-width: 1px 1px 1px  | 依次对应上、左右、下边框的宽度  | |||||
border-width: 1px 1px  | 依次对应上下、左右边框的宽度  | |||||
border-width: 1px  | 四边的边框宽度  | |||||
border-left-width  | 长度单位  | 3px  | -  | border-left-width: 1px  | -  | |
border-right-width  | 长度单位  | 3px  | -  | border-right-width: 1px  | -  | |
border-top-width  | 长度单位  | 3px  | -  | border-top-width: 1px  | -  | |
border-bottom-width  | 长度单位  | 3px  | -  | border-bottom-width: 1px  | -  | |
border-color  | 边框颜色  | 色彩单位  | 0x000000  | -  | border-color: red #333 rgb(255, 255, 0) green  | 依次对应上、右、下、左边框的颜色  | 
border-color: red #333 rgb(255, 255, 0)  | 依次对应上、左右、下边框的颜色  | |||||
border-color: red #333  | 依次对应上下、左右边框的颜色  | |||||
border-color: red  | 四个边框的颜色  | |||||
border-left-color  | 色彩单位  | 0x000000  | -  | border-left-color: red;  | -  | |
border-right-color  | 色彩单位  | 0x000000  | -  | border-right-color: red;  | -  | |
border-top-color  | 色彩单位  | 0x000000  | -  | border-top-color: red;  | -  | |
border-bottom-color  | 色彩单位  | 0x000000  | -  | border-bottom-color: red;  | -  | |
border-radius  | 边框圆角半径  | 长度单位  | 0  | -  | border-radius: 10px 10px 10px 10px;  | 详见表格下方的 border-radius 取值说明。  | 
border-radius: 10px 10px 10px;  | ||||||
border-radius: 10px 10px;  | ||||||
border-radius: 10px;  | ||||||
border-top-left-radius  | 长度单位  | 0  | -  | border-top-left-radius: 10px;  | -  | |
border-top-right-radius  | 长度单位  | 0  | -  | border-top-right-radius: 10px;  | -  | |
border-bottom-left-radius  | 长度单位  | 0  | -  | border-bottom-left-radius: 10px;  | -  | |
border-bottom-right-radius  | 长度单位  | 0  | -  | border-bottom-right-radius: 10px;  | -  | 
border-radius 的取值说明如下:
单值:表示边框四角的圆角半径。
双值:表示边框两个角的圆角半径。第 1 个值表示 topLeft/bottomRight;第 2 个值表示 topRight/bottomLeft。
三值:表示边框三个角的圆角半径。第 1 个值表示 topLeft;第 2 个值表示 topRight/bottomLeft;第 3 个值表示 bottomRight。
四值:表示边框四个角的圆角半径。第 1 个值表示 topLeft;第 2 个值表示 topRight;第 3 个值表示 bottomRight;第 4 个值表示 bottomLeft。
边框的基本用法
下面是边框的使用示例。
div {
    border-style:solid;
    border-color:#ff0000;
    border-width:10px;
    border-radius:5px;
}当使用属性的简写方式时,简写中没写的样式,将按照默认值处理,例如
border: 5px red;无效果,因为border-style 默认为 none,而border: 5px solid;会显示 5px 的黑色实线边框,因为 border-color 默认黑色。当属性的简写与非简写同时存在,遵循后者覆盖前者的原则,示例如下:
// 显示 5px 黑色实线边框 (black 覆盖 red)
border:5px red solid;
border-color:black;
// 显示无边框(none 覆盖 dotted)
border-style:dotted;
border:5px red盒模型的基本用法
下面是盒模型的一个使用示例。
div {
    background-color: lightgrey;
    width: 300px;
    border: 25px solid green;
    padding: 25px;
    margin: 25px;
}
示例代码
单击此处 detailBoxModel.zip 获取完整示例代码。