2014-01-21 2 views
0
.brown,.blue,.pink,.orange,.red,.yellow,.green,.navy,.taxes { 
display:block; 
text-align:center; 
font-size:10px; 
font-family:Helvetica; 
font-weight:700; 
background:#000;/*<--- the color of this should be brown, blue, pink etc*/ 
color:#fff; 
width:100%; 
} 
.brown{ 
background: brown; 
} 

В данный момент я хочу добиться этого эффекта. Мой вопрос: какой самый эффективный способ достижения этого эффекта? В SASS я мог бы это сделать, но мне все равно пришлось бы написать 6 разных переменных для каждого цвета, поэтому не уверен, как это более эффективно.Использование Sass для динамических цветов

Также следует отметить, что вместо имен имен я использую имена классов, потому что каждый цвет имеет несколько экземпляров, есть 2 коричневые, 3 блюза, 3 гвоздики. Итак, правильно ли я использую классы, так как идентификатор должен действительно использоваться для уникальных значений?

+1

Если вы создали свой сайт с этим классом, вы должны продолжать идти ... .orange { фон: оранжевый; } – Romain

+0

Я считаю, что это единственный способ сделать это без javascript –

+0

Если честно, то, что вы делаете, - ужасный способ кодирования. Все должно управляться через Css, а не непосредственно внутри Html – Romain

ответ

1

Я бы не советовал кодировать ваш CSS таким образом, но вы могли бы составить список, а затем прокрутить его. Например:

SASS

$colorList: 
    "white" #fff, 
    "grey" #ccc 
; 

@each $i in $colorList { 
    .color-#{nth($i,1)} { 
     background-color: nth($i,2); 
    } 
} 

Выходной CSS

.color-grey { 
    background-color: #ccc; 
} 

.color-white { 
    background-color: #fff; 
} 
+0

Правильно Я думаю, что это то, что мне нужно. Я буду играть с этим кодом, может потребоваться много времени. Im новый для SASS. Coudle вы объясните эту строку '.color - # {nth ($ i, 1)}' –

+0

[This] (http://jeffvincent.me/using-sass-hash) даст вам гораздо лучшее объяснение, чем я могу поставить в комментарии – Martin

+0

Я получил его для работы сейчас и спасибо Мартину, я посмотрю на это. –

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