1

我有两个基本的 CSS 类:

.smpb_color_gray {
    color:#cccccc;
}

.smpb_font_size_18 {
    font-size:18pt;
}

我想知道是否可以创建一个包含这两个类的类?用 name.smpb_my_combine_class和它必须有color:#ccccccand fontSize:18pt

我想创建一个类,然后在其他类上使用它们。

就像我想创建:

.smpb_base_border_width{
    border-width:1;
}

然后我想为其他控件创建一个类,我只想包含这个类,而不是创建一个新类。如果我以后想更改默认宽度,则需要它。

如果我对基础进行更改,那么我需要在所有类中进行更改。

4

6 回答 6

2

关于 JavaFX2,.root您可以在元素中定义一个属性,例如-smpb-color-gray:#cccccc;然后在另一个 css 类中引用该属性。

.root {
  -smpb-color-gray: #cccccc;
  -smpb-font-size: 18pt;
}

.smpb_my_combine_class {
  -fx-text-fill: -smpb-color-gray;
  -fx-font: -smpb-font-size;
}

我用过-fx-text-fill是因为我不知道你想给什么上色。

这符合你的标准吗?

于 2013-07-03T13:19:03.430 回答
1

试试这个

.smpb_font_size_18,.smpb_color_gray{
    color:#cccccc;
    font-size:18pt;
}
于 2013-07-03T12:02:34.683 回答
0

您可以像这样将多个类分配给一个 html 元素, <div class="border black"></div> 但据我所知,您不能将多个类合二为一。

我并没有真正研究它,但我认为SASS可能能够做你想做的事。

于 2013-07-03T11:59:24.967 回答
0

如果你的意思是这样使用它:

.myclass {
  .testclass;
}

除非您研究LESS之类的东西,否则答案是否定的。

于 2013-07-03T12:00:23.657 回答
0

这是:

.smpb_font_size_18,.smpb_color_gray{
    /*whatever style for both*/
}
于 2013-07-03T12:00:52.363 回答
0

基本上,您要问的是级联样式表的全部内容......将具有相同顶级类或 Id 的元素分组在一起。您唯一需要做的就是创建.smpb_my_combine_class并定义如下值:

.smpb_my_combine_class{
    color:#cccccc;
    font-size:18pt;
}

然后定义您的子类以将顶级类值替换为默认值,如下所示:

.smpb_my_combine_class .smpb_color_gray{
    font-size: medium; //The default value for font-size according to W3C
}

.smpb_my_combine_class .smpb_font_size_18{
    color: black; //The default value of your Page font color?
}

因此,您的.smpb_my_combine_class-classed 元素将具有这些默认值,以及基于它的每个类。但请记住,这仅在您的子类元素包含在.smpb_my_combine_class-class的元素中时才有效

于 2013-07-03T12:06:54.980 回答