2013-08-22 31 views
2

是更好地做到這一點:Overiding CSS。它是更好地覆蓋或召回所有屬性

.message_bookmark { 
    display: block; 
    height: 40px; 
    width: 40px; 
    position: relative; 
    left: 540px; 
    top: -168px; 
    opacity: 0.5; 
} 

.message_delete { 
    display: block; 
    height: 40px; 
    width: 40px; 
    position: relative; 
    left: 600px; 
    top: -128px; 
    opacity: 0.5; 
} 

或本:

.message_bookmark, .message_delete { 
    display: block; 
    height: 40px; 
    width: 40px; 
    position: relative; 
    left: 540px; 
    top: -168px; 
    opacity: 0.5; 
} 

.message_delete { 
    left: 600px; 
    top: -128px; 
} 

在可讀性方面的第二種方法更適合,並且也使用更少的代碼,那實際上最好?

回答

4

我會用類似於你在Twitter Bootstrap中看到的CSS子類策略。

CSS

/*Base Class*/ 
.message{ 
    display: block; 
    height: 40px; 
    width: 40px; 
    position: relative; 
    opacity: 0.5; 
} 

/*Subclass*/ 
.message_bookmark{ 
    left: 540px; 
    top: -168px; 
} 

/*Subclass*/ 
.message_delete { 
    left: 600px; 
    top: -128px; 
} 

HTML用法

<div class="message message_bookmark">BookMark</div> 
<div class="message message_delete">BookMark</div> 
+0

雖然我喜歡這個我自己,我總是告訴別人:只要別做這樣引導其中含有大量的搞砸東西;)保持乾淨簡單,不會出錯。此外,這使代碼保持較少的行數。 – Daniel

+0

@Daniel我喜歡這種風格,並從SMACSS書籍中挑選它:http://smacss.com/它似乎使事情變得簡單,並幫助您處理一次性場景。 –

0

我想說第二個更好。更少的代碼,就像你說的,更具可讀性。在功能上是一樣的,所以沒有重複的東西點。