2012-05-25 79 views
0

是否可以將一個CSS類的屬性分配給另一個類?如果不能用CSS完成,我可以使用服務器端腳本來傳遞變量。將CSS類動態分配給另一個類

例如,如果我有一個從.myclass1到.myclass20的類的列表,並且我知道對於用戶7,我需要用myClass7替換.myDefault,我該怎麼做?

+0

我試圖找出什麼需要做。在我開始編寫代碼之前,我更喜歡這樣做。看來LESS是要走的路。 – santa

回答

1

您希望一個類中的所有屬性都由CSS中的另一個類繼承。

不適合兩個類動態地由JS應用於對象。

這不能用CSS直接完成,JS方法會消耗相當多的時間來實現。

最好的選擇是你看看less css

它做你想要的,無論是服務器端還是客戶端。

1

在jQuery中,可以將這個代碼:

$('.myDefault').addClass('myClass7'); 
$('.myClass7').removeClass('myDefault'); 
+0

我需要在文檔中保留該類,但用另一個屬性替換屬性。 – santa

+0

我看着它,似乎你應該嘗試LESS JS,如Mihai所述 –

+0

是的,我傾向於使用LESS。謝謝。 – santa

0

這不是一個直接的答案,但如果你想設置一個組合,您可以使用多個類:通過添加

bigFont{ 
    font-size:150%; 
} 
errorBox{ 
    border:4px dashed red; 
} 
typMessage{ 
    padding:2px; 
    margin:1px; 
    overflow-y:auto; 
} 


<div class="typMessage">Hello World</div> 

「errorBox」和/或「bigFont」類到它將「合併」CSS屬性的元素。

0

這裏的交換類,而jQuery的一個簡單的方法:http://jsfiddle.net/imsky/mrKHB/

HTML:

<div id="test" class="big one sans phone">Hello world and </div> 

CSS:

.one {background:blue;color:#fff} 
.two {background:yellow;color:#000} 
.sans {font-family:sans-serif} 
.big {font-size:24px} 
.phone:after {content:"phone!"} 

的JavaScript:

document.getElementById("test").onclick = (function(){ 
this.className = this.className.replace(/\bone\b/,"two"); 
}); 
0

您可以使用PHP至 爲你處理這件事。 只需替換例如

<div class='myDefault'></div> 

// you should have that info stored somewhere anyway :) 
$userClass = 'myClass7'; 

// now just echo out the right class for the user 
<div class="<?php echo $userClass ?>"></div> 
相關問題