动态地将CSS类分配给另一个类

时间:2012-05-25 17:20:47

标签: php css

是否可以将一个CSS类的属性分配给另一个类?如果无法使用CSS,我可以使用服务器端脚本来传递变量。

例如,如果我有一个从.myclass1到.myclass20的类列表,我知道对于user7,我需要用myClass7替换.myDefault,我该怎么做?

5 个答案:

答案 0 :(得分:1)

在jQuery中你可以使用这段代码:

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

答案 1 :(得分:1)

您希望类中的所有属性都由CSS中的另一个类继承。

不是由JS动态地将两个类都应用于对象。

这不能直接用CSS完成,JS方法会耗费相当多的时间来实现。

最好选择less css

它可以满足您的需求,无论是服务器端还是客户端。

答案 2 :(得分: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属性。

答案 3 :(得分: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");
});

答案 4 :(得分: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>