是否可以将一个 CSS 类的属性分配给另一个类?如果不能用 CSS 完成,我可以使用服务器端脚本来传递变量。
例如,如果我有一个从 .myclass1 到 .myclass20 的类列表,并且我知道对于 user7,我需要将 .myDefault 替换为 myClass7,我该怎么做?
在 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>