Nice stretchy fabric, opaque (which is so hard to find!). These did run small though. I originally got the M and exchanged for the L. I really am a M but the leg openings were tight. The L fits fine—I wear these almost everyday now! Not only does the top come nicely over my 39-week belly, but they are long to the ankle too. I highly recommend (just get the size up). Thanks Figure 8!