The rules of laundry are pretty straightforward. Darks get washed in cold water so they won't fade, lights generally use warm and whites and towels get the hot water treatment. But depending on the fabric, all the rules could go out the window. Wool and linen will still shrink in warm water no matter what color they are. But, then again, stains come out better in warm water, right? Well, the stain may come out, but the sweater will barely cover your midriff. So, now you need to know -- do clothes always shrink if you wash them in warm water?
To understand why your sweater shrunk, let's look at why fabric shrinks in the first place. Fabric is made of materials that are woven together by a machine. The materials themselves and the way they're combined together create a distinct type of fabric. For example, cotton is the basis for gingham and denim, which are two very different fabrics. Denim is much heavier because it's woven with a twill weave to create a more durable fabric, while gingham uses a plain weave, resulting in a lighter, airier fabric. Their primary differences are due to the way they're woven together and how tight the weave is.
Natural fibers are a little stretchy, so if they're combined in a looser weave, they'll have more give. Clothing manufacturers find savings by stretching the fibers in garments as they can go so they'll use less fabric. But when these fibers get wet, they tend to return to their natural state. The looser the weave, the more likely it is to tighten up when it gets wet. Add water, warm temperatures and increased agitation to impact the fibers, and expect greater shrinkage. You'll typically find that natural fibers like cotton, wool and linen are more prone to shrinkage in warm or hot water than more stable fibers, like silk and polyester. One exception is preshrunk garments; the fibers of these garments are put through a special compression process so that their weaves don't give as much when washed.