这个有效的CSS是否使div居中并且还应用了上边距?
div {
margin: 0 auto;
margin-top: 30px;
}
答案 0 :(得分:36)
使用以下内容指定边距:
div { margin: 30px auto 0; }
这是简写:
div { margin : 30px auto 0 auto; } /* margin: [top] [right] [bottom] [left]; */
这是简写:
div {
margin-top: 30px;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
}
现在你知道可以指定margin
和/或padding
的不同方式了;选择是你的。
就优先级而言,后一个定义将适用;如the spec中所定义。
要查找元素/属性组合的值,用户代理必须应用以下排序顺序:
- 查找适用于目标媒体类型的相关元素和属性的所有声明。如果关联的选择器与相关元素匹配,则声明适用。
- 声明的主要类型是按权重和来源:对于正常声明,作者样式表覆盖覆盖默认样式表的用户样式表。对于“!important”声明,用户样式表会覆盖覆盖默认样式表的作者样式表。 “!important”声明覆盖正常声明。导入的样式表与导入它的样式表具有相同的原点。
- 次要排序是选择器的特异性:更具体的选择器将覆盖更一般的选择器。伪元素和伪类分别计为普通元素和类。
- 最后,按指定顺序排序:如果两个规则具有相同的权重,来源和特异性,则后者指定获胜。导入样式表中的规则被认为是在样式表本身中的任何规则之前。
醇>除了个别声明的“!important”设置外,此策略还为作者的样式表提供了比阅读器更高的权重。因此,用户代理必须使用户能够关闭某个样式表的影响,例如通过下拉菜单。
正如其他人所说,您可能需要指定固定宽度才能看到div
居中...
答案 1 :(得分:6)
是的,但是关于div的居中问题,您还需要将width
应用于它。
答案 2 :(得分:5)
是。他们是对的:
div { width: 90%; margin : 30px auto 0 auto; }
我通常使用90%的宽度作为一个很好的起点。
答案 3 :(得分:3)
我不明白为什么不...你也可以将其缩短为:
div {margin: 30px auto 0;}
答案 4 :(得分:3)
是的,因为保证金:0自动将顶部和底部设置为0并且左右设置为自动,因此将顶部设置为30px与说边距相同:30px auto 0 auto;
答案 5 :(得分:2)
这是有效的,但它可以更短:
div {margin: 30px auto 0;}
当您只提供三个值时,中间值将应用于左侧和右侧。
答案 6 :(得分:2)
是的,这是有效的。 margin-top
将覆盖margin
规则。
虽然您可能想要添加width
以使其居中。