2009-12-21 88 views
4
.mac{margin-left:auto; margin-right:auto;} 

.table{.mac; color:red;} 

我希望能夠做到這一點,它沒有任何意義,我爲什麼需要做:如何把一個css類放入一個css類中?

.table{margin-left:auto; margin-right:auto; color:red;} 

我知道表我可以這樣做:

<table class="table mac"> 

或者只是像上面那樣輸入.table{margin-left:auto; margin-right; color;},但看起來多餘。

是否有某種方法可以在我的第一條語句中完成我想要完成的任務,是否有一些特殊的語法我不知道要做到這一點?

回答

5

簡短的回答是否定的,你不能「包括」其他的CSS類或「繼承」他們如此說話。儘管如此,有些工具可以用來爲你抽象出那種東西。想起了LESS。我認爲「mixin」就是你要找的東西。

下面是從LESS頭版代碼示例:


.rounded_corners (@radius: 5px) { 
    -moz-border-radius: @radius; 
    -webkit-border-radius: @radius; 
    border-radius: @radius; 
} 

#header { 
    .rounded_corners; 
} 

#footer { 
    .rounded_corners(10px); 
} 
+0

這正是我在尋找的東西,最後! 謝謝BranTheMan。 – payling 2009-12-21 17:37:25

8

您可以用逗號分隔同一行中合併多個CSS選擇器:

.mac, .table 
{ 
    margin-left:auto; 
    margin-right:auto; 
} 

.table 
{ 
    color:red; 
} 
+0

是以外在類.mac ...我給的,上面的時候,我寫 這是n我正在努力達成的目標。 – payling 2009-12-21 16:37:22

+0

你試圖完成什麼不起作用。這個答案是正確的,並且比試圖嵌套CSS類更具有意義。 – Aaron 2009-12-21 16:39:09

+0

該答案對於我正在嘗試做的事不正確。大衛只是解決了另一個問題。 嵌套CSS確實有道理。例如,也許我不想寫margin-left:auto; margin-right:auto爲每個頁面特定的類,而不是嵌套.mac類,我不想有一個全局樣式表,其中100個類引用margin-left:auto;保證金右:自動;在一條線上。你可以在技術上這樣做,但對我來說這很麻煩,可能只有少數指定的類是全局類。 我希望這有助於解釋我的推理。 – payling 2009-12-21 16:54:29

2
.table, .mac {margin-left:auto; margin-right:auto;} 
.table {color:red;} 
+0

爲什麼有人,把這個答案記下來?它與第一個答案完全相同,只是更緊湊......將代碼放在一行上沒有任何問題。 – 2009-12-21 16:41:16

+0

是的,對於生產來說這很好,對於開發而言,我更喜歡其他形式,但是可以工作。 – 2009-12-21 16:56:05

+0

哦,我希望我的同伴壓力徽章:-P,我在大衛3秒後提交了這個答案,也許他們認爲我只是複製了它? – 2009-12-21 18:10:19

0

我要看你怎麼想這樣做。 你的情況: - 如果你想使用類表中您可以使用.table - 類MAC可以使用.mac -and是你可以用逗號將它們組合:.table, .mac - 如果你把同這通常使用這兩個類的風格。

但 - 如果你想在類.mac這在表把風格,那麼這將幫助您:

table .mac{} - 注意,我沒有使用逗號,只是一個空間......這樣你定義table..but不是類.mac這是表

好運