Extjs 4.2.0 has some weird behavior, but overriding is possible. Give button a class class using the cls:'yourClassName' , and then in CSS make the full path to the span , holding the text like this: .yourClassName div a span . Also give your property css ! Important to successfully override the base class.
Ext.create('Ext.Button', { text: 'Click me', renderTo: Ext.getBody(), handler: function() { alert('You clicked the button!'); }, cls: 'foo' });
and in css just:
.foo div a span { color:#ff0000 !important; }
Here is an example.
source share