I came across Brad Frost's post about the Floated Label Pattern and instantly thought, "I think you can do this in CSS" and set out to prove it. It turned out to be a little trickier than expected but I created a quick proof of concept: The Example How it works I use the :valid pseudo class along with the pattern attribute on the input to style the associated label accordingly. .field { position:r