是否可以将一个CSS类的属性分配给另一个类?如果不能用CSS完成,我可以使用服务器端脚本来传递变量。
例如,如果我有一个从 .myclass1 到 .myclass20 的类列表,并且我知道对于用户 7,我需要将 .myDefault 替换为 myClass7,我该怎么做?
您希望一个类中的所有属性都由 CSS 中的另一个类继承。
不适用于通过 JS 将这两个类动态应用于对象。
这不能直接用CSS完成,JS方法会花费相当多的时间来实现。
最好的选择是让你研究更少的css。
它可以做你想要的,无论是服务器端还是客户端。
在jQuery中,你可以这样写代码:
$('.myDefault').addClass('myClass7');
$('.myClass7').removeClass('myDefault');
这不是一个直接的答案,但如果你想要混合设置,你可以使用多个类:
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>