0

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

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

4

5 回答 5

1

在 jQuery 中,您可以使用以下代码:

$('.myDefault').addClass('myClass7');
$('.myClass7').removeClass('myDefault');
于 2012-05-25T17:23:47.567 回答
1

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

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

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

最好的选择是让您少看一些 css

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

于 2012-05-25T17:32:48.117 回答
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 属性。

于 2012-05-25T17:29:15.177 回答
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");
});
于 2012-05-25T17:32:54.037 回答
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>
于 2012-05-25T17:36:47.067 回答