2012-02-06 69 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%的寬度作爲一個很好的起點。