[英]Dynamically assign CSS class to another class
是否可以將一個CSS類的屬性分配給另一個類? 如果無法使用CSS,我可以使用服務器端腳本來傳遞變量。
例如,如果我有一個從.myclass1到.myclass20的類列表,我知道對於user7,我需要用myClass7替換.myDefault,我該怎么做?
在jQuery中,您可以使用以下代碼:
$('.myDefault').addClass('myClass7');
$('.myClass7').removeClass('myDefault');
您希望類中的所有屬性都可以由CSS中的另一個類繼承。
不是由JS動態地將兩個類應用於對象。
這不能直接用CSS完成,JS方法會耗費相當多的時間來實現。
最好的選擇是讓你看看更少的CSS 。
它可以滿足您的需求,無論是服務器端還是客戶端。
這不是一個直接的答案,但如果你想要混合設置,你可以使用多個類:
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屬性。
這是一種在沒有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");
});
您可以使用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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.