2012-02-06 81 views

回答

30

使用以下指定边距:

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 s,和/或padding,可以指定;这是你的选择。

就优先级而言,后面的定义将适用;如在the spec中所定义的。

为了找到元素/属性组合的值,用户端必须应用以下排序顺序:

  1. 找到适用于有问题的元素和属性的所有声明,目标媒体类型。如果关联的选择器匹配有问题的元素,则声明适用。
  2. 声明的主要类型是按重量和来源:对于正常的声明,作者样式表覆盖用户样式表,它们覆盖默认样式表。对于“!重要”声明,用户样式表覆盖了覆盖默认样式表的作者样式表。 “!重要”声明覆盖正常声明。导入的样式表与导入它的样式表具有相同的原点。
  3. 二次排序是通过选择器的特殊性:更具体的选择器将覆盖更一般的选择器。伪元素和伪类分别计为正常元素和类。
  4. 最后,按指定的顺序排序:如果两个规则具有相同的权重,起点和特异性,则后者指定获胜。导入样式表中的规则被认为是在样式表本身的任何规则之前。

除了个别声明上的“!important”设置,该策略使作者的样式表的权重高于阅读者的权重。因此,用户代理使用户能够关闭特定样式表的影响,例如通过下拉菜单是很重要的。

正如其他人所说,你可能需要以指定一个固定宽度,看看你的div中心...

3

我不明白为什么不......你也可以缩短这个于:

div {margin: 30px auto 0;}

6

是的,但至于定心你也想申请width它的股利。

2

它是有效的,但它可以是这样的短:

div {margin: 30px auto 0;}

当你只给三个值,中间值应用于左,右两侧。

3

是的,因为margin:0 auto是将top和bottom设置为0并且左右自动设置,所以设置top至30px就像说margin:30px auto 0 auto;

2

是的,它是有效的。 margin-top将覆盖margin规则。

尽管您可能想添加一个width来居中。

5

是的。他们是正确的:

div { width: 90%; margin : 30px auto 0 auto; } 

我一般使用90%的宽度作为一个很好的起点。