802.1q trunking is used when you using switch as vlan. 802.1q is the encapsulation for the trunking if i'm not wrong. Normally you can create vlan in switch(you have one default vlan1 for the management and it can't be deleted) after you create vlan, each vlan cannot communicate with each other. When they want to communicate with other switch with the same vlan they must have one dedicated port for each vlan to communicate. If you have 3 vlan then you need at least 3 port to communicate with other switch and same vlan. But when you using trunking you just need one port to connect to other switch , that port will be the trunk. The principle is nearly same with multiplexing.
That's what i know about 802.1q trunking is it clear and addequate?