What's worse is that this doesn't gracefully degrade. If you have javascript disabled your text will be written over top the label text and is completely unreadable.
Well instead of styling all labels in the css, you could create a css class for the overlay effect and then add that class to the labels (all or just some etc.) on the form with jquery. That way it's unobtrusive javascript and works when javascript is disabled without mucking up your form.