2013-03-26 163 views
0

這可能是一個愚蠢的問題,但它在這裏。CSS繼承,或類似的東西

我在我的css文件中有3個ID,他們都有一些相同的代碼。例如:

#ID1 { 
    // some code 
    width: 300px; 
    height: 300px; 
}  
#ID2 { 
    // some code 
    width: 300px; 
    height: 300px; 
}  
#ID3 { 
    // some code 
    width: 300px; 
    height: 300px; 
} 

我的問題是:是否有可能使一些類或ID在CSS和調用它裏面另一個CSS類或ID。例如:

#setting { 
    width: 300px; 
    height: 300px; 
} 
#ID1 { 
    .setting   
    // some code 
}  
#ID2 { 
    .setting 
    // some code 
}  
#ID3 { 
    .setting 
    // some code 
} 

謝謝。

+1

目前還沒有,但有LESS.css和SASS。 – 2013-03-26 06:34:57

+1

不,不是。 – 2013-03-26 06:35:21

回答

1

你在找什麼叫做LESS。閱讀關於它here

1

您可以通過應用參考它的父類中重寫CSS,請檢查下面的例子:

#setting { 
width: 300px; 
height: 300px; 
} 
#ID1 .setting { 
    // some code 
}  
#ID2 .setting { 
    // some code 
}  
#ID3 .setting { 
    // some code 
} 

上面的代碼將分別適用裏面ID1,ID2,ID3所有的「設置」類的標籤。 如果你的「設置」孩子是即時類,那麼你可以在你下面的例子:

#setting { 
width: 300px; 
height: 300px; 
} 
#ID1 > .setting { 
    // some code 
}  
#ID2 > .setting { 
    // some code 
}  
#ID3 > .setting { 
    // some code 
} 

上面的代碼將只適用於與類名爲直接子「設置」。

1

您可以在單個元素上使用多個CSS類。

您可以創建「通用」類並將其應用於元素。

例如:

<div class="class1 class2">some content</div> 

請記住,如果存在的Class1和class2的共同屬性,在等級2該屬性的值將覆蓋一個Class1中該元件上,並且最終元件將具有在class2中定義的值。

真的很舊的瀏覽器不支持這一點,但很可能你不應該擔心它們。

1

不,在CSS中是不可能的,它與繼承無關。在CSS規則中,您將所有選擇器放在「{」之前,並且只在「{」和「}」之間聲明(屬性)。

但是你可以使用兩者id屬性和元素上的class屬性,如在

<div id="ID1" class="setting">...</div> 

,然後如果有例如

.setting { 
    width: 300px; 
    height: 300px; 
} 

(注:.沒有#),這些聲明應用於所有元素與class=setting,有可能由於其他CSS規則適用任何其他聲明一起。