You do not have to follow these rules every time. If you have a good reason to break any of them, do. But they are safe to follow every time.
CSS Lint points out problems with your CSS
CSSArrowPlease allows you to create and export CSS code for a custom box with an arrow extending out from the side.