1. You do not need a class for each tag; however, they do provide control over how the information is displayed 2. Not sure I understand the question. You can a single class for multiple tags if you want them to all have the same formatting. If you want multple classes to apply to a single tag, you would separate each class by a space. For example: <div class='sheet-class1 sheet-class2'>stuff</div> 3. Div tags are not mandatory, but they do help provide structure. You could also use table tags instead, but I have found I prefer to use div tags for anything that is not expressly a table. For example, if I were doing a Table of Contents, I would probably use the table tags, but otherwise, I tend to use divs now. You can create a single class for all labels, for all inputs, etc. You are correct, that if you change the CSS for a particular class, all elements that use that class will be affected. If you need to change the CSS for one particular field, but the class hits most of what you need, you can give the tag a class, and then add the style property (I think that's what they are called?—too lazy to look at the moment, sorry) inside the tag, and the style will override certain parts of the class. For example: <div class='sheet-class1' style='width: 30px;'>Stuff</div> In that example, the sheet-class1 class may have the width set to 100px, but by adding the style property, it forces the width to be 30px instead of 100px, but that div will inherit all of the other format specifications of sheet-class1. Not sure I understand your last question...