10

I want this using jss styling.

.a{
height: 20px;
}
.b{
height: 40px;
}
.a,.b{
width: 100px;
}

Try 1

Make a rule c and add the class to both a and b

c: {
width: '100px'
}

Try 2

Make a object common and merge them to both a and b rule

const common = {
   width: '100px',
};

a: {
height: '20px',
...common
}
b: {
height: '40px',
...common
}

Is there any better way possible ?

isherwood
  • 58,414
  • 16
  • 114
  • 157
Slim Shady
  • 1,045
  • 2
  • 12
  • 38

2 Answers2

10

How about extend plugin (enabled by default)?

https://cssinjs.org/jss-plugin-extend

const styles = {
  buttonColor: {
    background: 'red'
  },
  button: {
    extend: 'buttonColor',
    fontSize: '20px'
  }
}
Linden X. Quan
  • 584
  • 5
  • 18
6

A simpler alternative that I feel is easier to parse would be to set the key to be a String by wrapping in quotes:

'.a, .b': {
   width: 100px; 
}