2010-01-08 54 views
0

考慮下面的動態生成CSS:我如何基於一個CSS設置另一個?

.ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc; } 

我怎樣才能提取background值用於:

body 
{ 
background-color: VALUE_FROM_UI_WIDGET_HEADER_GOES_HERE; 
} 

更多細節:我用jQuery-UI Themeroller並讓用戶上傳自己的主題。我希望頁面的背景顏色基於Themeroller的顏色。這讓他們可以自定義背景顏色。這隻能在CSS中完成嗎?

+0

嗯,我不認爲有可能用CSS檢索背景顏色。這在Javascript中絕對有可能。糾正我,如果我錯了。 – 2010-01-08 20:20:25

+0

,我認爲有可能用公式,但你不要想太多那些在你的CSS的,因爲它們運行的​​每個你將鼠標移動到您的網頁,和太多的真的可以減緩你的網頁的響應時間 – 2010-01-08 20:21:40

回答

1

有沒有辦法來定義CSS只關係。

你不得不使用JavaScript來完成你想要的。

+0

感謝的時候,我想你第一。 – royco 2010-01-09 01:07:32

4

沒有辦法,在CSS中,說「這個屬性的值應該是相同的另一個規則集的屬性值」。

對於這樣的事情,你一般會使用一個分組選擇:

.ui-widget-header { border: 1px solid #4297d7; } 

.ui-widget-header, 
body { 
    background: #5c9ccc; 
} 
1

「沒有辦法」的答案是正確的afaik - 你可以得到的最好的結果是使用CSS框架(或者更準確地說是「編譯器」),例如Compass,它允許你定義變量,子類和在源文件中類似,然後編譯到實時CSS。有一個nice roundup of CSS compilers here

+0

我認爲這與@Bob所要求的不同,因爲任何CSS框架基本上都依賴於任何語言來生成CSS來實現通用控制,這與從不使用其他語言的純CSS獲取值不同。 – 2010-01-08 22:16:43

+0

我從來沒有聽說過CSS編譯器。我很高興你把他們引起了我的注意。謝謝。 – royco 2010-01-09 01:08:06