2013-07-03 3 views
1

У меня есть две базы CSS классы:JavaFX CSS объединить стили в CSS файл

.smpb_color_gray { 
    color:#cccccc; 
} 

.smpb_font_size_18 { 
    font-size:18pt; 
} 

Интересно, если это возможно, чтобы создать один класс, который будет содержит оба эти классы? С именем .smpb_my_combine_class и оно должно быть color:#cccccc и fontSize:18pt.

Я хочу создать один класс, а затем использовать их на других классах.

Как я хочу создать:

.smpb_base_border_width{ 
    border-width:1; 
} 

А потом я хочу, чтобы создать класс для другого элемента управления, я хочу, чтобы просто включить этот класс, но не создать новый класс. Это необходимо, если я хочу изменить ширину по умолчанию в будущем.

Если я вношу изменения в базу, мне нужны эти изменения во всех классах.

+2

Нравится, '.smpb_my_combine_class {color: #CCC; font-size: 18pt;}'? Или, '

'? – Passerby

ответ

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, потому что я не знаю точно, что вы пытаетесь цвета.

В соответствии с вашими критериями?

+0

Это почти то, что мне нужно. Можете ли вы дать ссылку, где вы читаете об этом? Почти потому, что: это как константы, но не сложные. –

+0

Там не так много деталей, что я мог найти. Взгляните на [this] (http://docs.oracle.com/javafx/2/css_tutorial/jfxpub-css_tutorial.htm) учебник Oracle. В частности, разделы «Правила и свойства» и «Скрытие сцены». Кроме того, ознакомьтесь с [CSS Reference](). – OttPrime

0

Вы можете назначить несколько классов для одного элемента HTML, как этот <div class="border black"></div> , но вы не можете объединить несколько классов в одном, насколько я знаю.

Я не очень много вникал в это, но думаю, SASS может сделать то, что вы хотите.

0

Если вы имеете в виду, используя его как это:

.myclass { 
    .testclass; 
} 

, чем ответ нет, если не смотреть на то, как LESS.

+0

Да, smt вот так. –

+0

Чем меньше вам нужно :) – randomizer

0

Это:

.smpb_font_size_18,.smpb_color_gray{ 
    /*whatever style for both*/ 
} 
1

попробовать этот

.smpb_font_size_18,.smpb_color_gray{ 
    color:#cccccc; 
    font-size:18pt; 
} 
+0

? это не то, что я ищу. –

0

В принципе, то, что вы спрашиваете, что каскадные таблицы стилей все о ... Группировка элементов с одинаковыми классами верхнего уровня или Идентификаторы вместе. Единственное, что вы должны сделать, это создать .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 будут иметь эти значения по умолчанию, а также каждый класс на его основе. Но имейте в виду, что это будет работать только если ваш подкласс элемент содержится внутри элемента .smpb_my_combine_class -class

+0

Ваша просьба - это отменить то, что мне нужно. –

Смежные вопросы