2016-08-24 2 views
0

Я только что попал в SCSS. Извиняюсь, если он был задан раньше, но я ничего не смог найти, что я хотел сделать.Доступ к классам div в SCSS

У меня есть .erb представление, которое динамически присваивает классы определенному div. Например, я мог бы что-то вроде этого:

<div class="red blue green">Hello world!</div> 

Есть ли способ, чтобы получить доступ ко всем классам DIV, так что я могу сделать что-то вроде этого:

@each $c in CLASSES { 
    $g: $g, $c; 
} 
linear-gradient(to bottom right, $g); 
//would be equivalent to linear-gradient(to bottom right, #F00, #0F0, #00F); 
+0

И вы не знаете, что такое классы или что они могут быть? – Barryman9000

+0

У меня есть хэш имени для пар цветов, но я не знаю, какое подмножество классов будет иметь каждый div, поэтому я не могу просто пропустить цикл через имена классов. –

ответ

0

Sass является CSS препроцессор значение он компилируется в CSS и, поскольку сам CSS не знает, какой HTML существует или как он используется, это невозможно. Вы должны переосмыслить то, как вы пишете CSS и, возможно, идти с подходом, аналогичным:

.gradient-rgb { linear-gradient(to bottom right, #F00, #0F0, #00F) } 
.gradient-gbr { linear-gradient(to bottom right, #0F0, #00F, #F00) } 
.gradient-brg { linear-gradient(to bottom right, #00F, #F00, #0F0) } 

Если вы будете следовать этому подходу, то вы были бы в состоянии использовать вашу карту Sass генерировать классы с некоторым усилием. Вы также можете использовать JavaScript, если генерировать так много возможностей не представляется возможным.

+0

Вот что я начал ожидать. Я попробую javascript. –

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