2013-05-28 75 views
2

這可能看起來像一個簡單的問題,但我想知道如何在單個選擇器中定位屬性,例如:display第一個或width第一個等;貝婁是例子,位置與造型混合在一起,真的到處都是。CSS屬性命令的位置是否重要?

.box { 
    display:block; 
    width:100px; 
    background-color:blue; 
    margin:25px; 
    position:absolute 
} 
  • 是否真的重要?
  • 我們應該遵循什麼指導原則?

感謝,

+2

實際上並不重要 - 我總是按字母順序編寫屬性以提高可讀性儘管..也有供應商的前綴屬性[應始終顯示在前面](http://emps.lcn.com/notebook/css-vendor-prefixes-和級聯)CSS屬性 – Adrift

+1

如果您添加回退,最好先放置它們。因爲瀏覽器會使用他們理解的最後一條規則。 – Xareyo

回答

1

這真的是品味和風格的問題,大部分。如果你找到它們,有很多指導方針可供選擇,但是一個地方是Nicolas Gallagher的Idiomatic CSS - 特別是Declaration Order部分。

如果要始終排列聲明,應該遵循一個簡單的原則。

...

較小的團隊可能更願意聚集相關的屬性(例如定位和盒模型)在一起。

...

大型的團隊可能更喜歡簡單性和易用性的mainteance自帶的字母順序。

+0

在您發佈的指南中。作者建議使用4個空格而不是TAB。不是說更高的字節大小嗎?我一直在使用TAB。 –

+0

當然 - 也是一個極具爭議的品味問題,關於哪些人需要根據代碼進行工作並由其達成一致。 CSS格式是爲了便於閱讀,編寫和維護,我建議您縮減製作CSS以消除不必要的空白,並完全避免使用1對4字節的參數! – crowjonah

11

屬性的順序並不重要(在技術意義上),除非他們:

  • 是相同的屬性(包括供應商前綴版本)
  • 一個屬性是一個簡寫屬性,包括其他

例如:

background: url('foo'); 
background-color: red; 

background-color: red; 
background: url('foo'); 

...會給出不同的結果(因爲如果省略background屬性它被視爲transparentbackground-color部分)。

+2

+1。我要添加的唯一其他情況是供應商前綴屬性。 – Spudley

+1

@Spudley - 好點,我補充說。 – Quentin

+0

@Quentin即使在瀏覽器代碼的支持下,代碼也會以塊的形式執行,並且渲染速度不會變慢或任何事情發生?我知道這可能是過度殺傷性的,但如果我能找到它,它可以從長遠來看有所幫助。 – Kivylius