Assign multiple styles to one object, type-independent styles

Idea created by davidhamannmedia on Oct 30, 2015
    • karo
    • davidhamannmedia
    • lem_alpha
    • Johan Hedman
    • jbante
    • restored18
    • tcfitzgerald
    • Markus Schneider
    • CamelCase_data


    Having the ability to assign multiple styles to one object and to be able to assign "general" styles to different types of objects would save a lot of time designing a solution.

    Use cases

    You have a text label which has a style (let's call it "label") assigned with attributes like color, font, text-decoration, etc.. Now you want to create another text label which has all the attributes of the previous one, but in addition a bold font-style. Currently you would create a new style (or duplicate the old one) and add the bold attribute (let's call the style "important"). Changing the color of the first style would however not change the color of the second style, because they are not assigned together but stand-alone (see note about Default styles below).


    If we could assign to a text label something like style "label important" instead of just "label" OR "important" we would need to create fewer styles and would be able to maintain them much more easily.


    Another good example for this would be Edit Boxes which have defined attributes for the different states but need rounded corners on the top left, on the top right, on the bottom left, on the bottom right.


    More examples could include setting standard colors for your solution, e.g. you have "your" text color blue which you assign to all of the relevant objects (text labels, popover titles, button labels, etc.). Then you change "your" blue on one place and the whole solution appears in the new color on the relevant spots.


    Current situation

    You can have a similar behavior when you use the Default style and then create a new style from that. However, it doesn't solve the described case where you have a few light-weight styles which you can combine and then change on one place.