Yes, it is possible.
What you need is rule-based Styling with a scale rule as shown in the image (sorry for german layout)
It looks like this when you zoom in and out :
keep in mind, that when you zoom out of the defined zoom levels, the layer won't be shown.
To have different styles within a category you can refine the rules by right-clicking on a rule -> Add scale and set different scales. In order to make this work you need to make the "parent rule", which defines the classes transparent.
To have the layer look the same you can add a rule without a filter and set the scale to be smaller as the scales defined by the classes (see image 3 for the setup and image 4 for the result)