Spacing 间距
为了改变一个元素的外观,您可以使用一系列的简写响应式的 margin 和 padding 的辅助工具类。
符号
用 space 辅助工具能够将简写的 margin 和 padding 属性转换为margin 和 padding 的 CSS 声明。 而属性则使用 {property}{sides} 的格式命名。
其中属性是以下其中之一:
m- 能够设置 margin 的类名p- 能够设置 padding 的类名
而 sides 是以下其中之一:
t- 能够设置 margin-top 或 padding-top 的类名b- 能够设置 margin-bottom 或 padding-bottom 的类名l- 能够设置 margin-left 或 padding-left 的类名r- 能够设置 margin-right 或 padding-right 的类名x- 能够一起设置 * -left 和 * -right 的类名y- 能够一起设置 * -top 和 * -bottom 的类名- blank - 能够设置元素的所有 4 个边的 margin 或者 padding 的类名
转换
根据输入和主题配置,您可以应用以下的转换:
- input:
number& theme:number: 该属性乘以 theme 的值。
const theme = {
spacing: 8,
}
<Box m={-2} /> // margin: -16px;
<Box m={0} /> // margin: 0px;
<Box m={0.5} /> // margin: 4px;
<Box m={2} /> // margin: 16px;
- input:
number& theme:array:属性值用作数组索引。
const theme = {
spacing: [0, 2, 3, 5, 8],
}
<Box m={-2} /> // margin: -3px;
<Box m={0} /> // margin: 0px;
<Box m={2} /> // margin: 3px;
- input:
number& theme:function:使用属性值调用该函数。
const theme = {
spacing: value => value ** 2,
}
<Box m={0} /> // margin: 0px;
<Box m={2} /> // margin: 4px;
- input:
string: 该属性作为原始的 CSS 值传递。
<Box m="2rem" /> // margin: 2rem;
<Box mx="auto" /> // margin-left: auto; margin-right: auto;
示例
p=1
m=1
p=2
Centered element
<Box mx="auto">…
API
import { spacing } from '@material-ui/system';
| 导入名称 | 属性 | CSS 属性 | Theme key |
|---|---|---|---|
spacing |
m |
margin |
spacing |
spacing |
mt |
margin-top |
spacing |
spacing |
mr |
margin-right |
spacing |
spacing |
mb |
margin-bottom |
spacing |
spacing |
ml |
margin-left |
spacing |
spacing |
mx |
margin-left, margin-right |
spacing |
spacing |
my |
margin-top, margin-bottom |
spacing |
spacing |
p |
padding |
spacing |
spacing |
pt |
padding-top |
spacing |
spacing |
pr |
padding-right |
spacing |
spacing |
pb |
padding-bottom |
spacing |
spacing |
pl |
padding-left |
spacing |
spacing |
px |
padding-left, padding-right |
spacing |
spacing |
py |
padding-top, padding-bottom |
spacing |
有些人觉得属性简写让人困惑,如果你愿意的话,您也可以使用完整版:
-<Box pt={2} />
+<Box paddingTop={2} />
-<Box px={2} />
+<Box paddingX={2} />