Все просто. Основная концепция это разделение дизайна от позиционирования.
- Элемент - позиционирование (float, text-aligin, width, hegith, position)
- Блок - дизайн (font, color, background и тд.)
Но нужно стараться писать стили так чтобы не было проблем в дальнейшем. Скажем ненужно писать color: red на сам блок, по тому что потом придется его перебивать у элемента.
Простейший пример
<div class="page page_sidebar_right">
<div class="page__sidebar"></div>
<div class="page__content"></div>
</div>
Здесь элементы sidebar и content задают позиционирование, а модификатор как то это меняет.
Какие блоки будут лежать внутри этих элементов нас не волнует, но эти блоки должны их заполнять, т.е. у них не должен быть указан width. Отступы если они нужны для позиционирования тоже будудт на этих элементах.
ЗЫ. width: 100% не то же самое что display: block